home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
09 Application Software
/
ACE15-D.SFX
/
ace15.doc
< prev
Wrap
Text File
|
1995-12-17
|
95KB
|
1,816 lines
┴├┼-128/64 ╒╙┼╥'╙ ╟╒╔─┼ FOR ╥ELEASE #15 [─ECEMBER 17, 1995]
------------------------------------------------------------------------------
1. ╔╬╘╥╧─╒├╘╔╧╬
┴├┼ IS AN OPERATING SYSTEM FOR THE ├OMMODORE 128 AND ├OMMODORE 64 THAT
PROVIDES A ╒NIX-LIKE COMMAND-SHELL ENVIRONMENT. ┴LL ┴├┼ PROGRAMS WILL RUN
ON EITHER A ├128 (IN 128 MODE) OR A ├64. ┬╘╫, "┴├┼" MEANS "┴DVANCED
├OMPUTING ┼NVIRONMENT" (WELL, ADVANCED FOR THE 128/64).
╘HIS RELEASE CONTAINS THE FOLLOWING IMPROVEMENTS OVER THE PREVIOUS RELEASE:
- ╘HE ┌┼─ TEXT EDITOR HAS BEEN RE-IMPLEMENTED FOR THE ┴├┼ ENVIRONMENT. ╘HE
EDITOR IS NOT AS COMPLETE AS THE STAND-ALONE VERSION OF THE PROGRAM FOR
THE ├128, BUT THE GAP IS BEING CLOSED. ╘HE ┴├┼ VERSION SUPPORTS THE
REGULAR CURSOR MOVEMENT KEYS, TEXT INSERT AND DELETE, RANGE INSERT AND
DELETE, AND GLOBAL SEARCHING. ╘HE ┴├┼ VERSION ALSO SUPPORTS AN UNLIMITED
LINE LENGTH WITH WORD-PROCESSOR-LIKE TEXT "SLOSHING" AND AUTO-WRAPPING
WITH "SOFT RETURNS". ╔N FACT, FOR ALL INTENTS AND PURPOSES, IT *IS* A
WORD PROCESSOR (IT JUST DOESN'T HAVE A PRINT FORMATTER... YET). ┴ND, OF
COURSE, IT TAKES ADVANTAGE OF THE ┴├┼ ENVIRONMENT TO MAKE USE OF ╥┴═╠INK
─┴├├ MEMORY AND TO RUN ON THE ├OMMODORE 64.
╒NFORTUNATELY, ╔ DIDN'T GET AROUND TO IMPLEMENTING ALL OF THE FEATURES
THAT ╔ WANTED FOR THIS RELEASE, MOST NOTABLY MARK (├╘-═), DELETE (├╘-─),
RECALL (├╘-╥), SET-HUNT-STRING (├╘-╚), AND FIND (├╘-╞). ╔ WILL BE MAKING
AN INTERIM RELEASE OF THE PROGRAM BY ITSELF ONCE ╔ HAVE THESE FEATURES
IMPLEMENTED.
┴LSO, LIKE THE STAND-ALONE VERSION, THIS VERSION HAS THE BUG THAT IT DOES
NOT HANDLE THE CONDITION OF RUNNING OUT OF MEMORY PROPERLY. ╔ INTEND TO
HANDLE THIS GRACEFULLY IN THE FUTURE, BUT FOR NOW, IF ┌┼─ RUNS OUT OF
MEMORY, THEN IT WILL ABORT BACK THE COMMAND SHELL AND YOU WILL LOSE ANY
CHANGES YOU HAVE MADE TO YOUR DOCUMENT. ┘OU ONLY HAVE TO BE CONCERNED
ABOUT THIS IF THE "╞:" (FREE) NUMBER DIPS BELOW ABOUT 1024. ╔F IT EVER
HITS 0, THEN YOU ARE IN IMMANENT DANGER. ╒SING THE DEFAULT CONFIGURATION
ON THE UNEXPANDED ├64 RESULTS IN A MERE 256 BYTES BEING REPORTED AS FREE
(ALTHOUGH THERE ARE "UNSEEN" BYTES, ABOUT 8╦, IN THE APPLICATION SPACE
THAT AREN'T REPORTED). ┌┼─ WILL RUN ON AN UNEXPANDED ├64, BUT IT WILL
PROBABLY NOT BE VERY USABLE. ╘O GET A LITTLE MORE SPACE, YOU CAN REMOVE
THE COMMAND SHELL FROM THE RAMDISK AND DISABLE THE SOFT-80 SCREEN IN THE
CONFIGURATION.
- ╘HE ┴├┼ ASSEMBLER HAS BEEN IMPROVED TO HANDLE "INCLUDE" FILES, TO
ACCEPT MORE NUMERIC-EXPRESSION OPERATORS, AND TO MAKE IT MORE COMPATIBLE
WITH SOURCE CODE FOR OTHER ASSEMBLERS. ╞ILE INCLUSION CAN GO ARBITRARILY
DEEP (LIMITED TO 9 OR SO OPEN FILES AT A TIME FOR ├OMMODORE ╦ERNAL
DEVICES). ├OMPATIBILITY FEATURES INCLUDE THE ABILITY TO ACCEPT OPCODES
AND DIRECTIVES IN BOTH UPPERCASE AND LOWERCASE, TO ACCEPT LABEL
DEFINITIONS WITHOUT THE TRAILING COLON, TO ACCEPT THE "/" CHARACTER TO
MEAN "+-" FOR RELATIVE LABELS, TO USE THE STANDARD DIRECTIVES ".BYTE",
".WORD", ETC. (THE OLD "DB", "DW", ETC. ALIASES HAVE BEEN DROPPED), AND
TO ACCEPT THE ┬UDDY/OTHER DIRECTIVES ".SEQ", ".OBJ", ".ASC", ".BYT", AND
".END".
- ╙UPPORT HAS BEEN ADDED TO THE ├128 ┴├┼ KERNEL FOR 115.2KBPS WITH A HACKED
╙WIFT╠INK CARTRIDGE. ╘HE ╙WIFT╠INK NORMALLY COMES WITH A DOUBLE-SPEED
CLOCK CRYSTAL TO GIVE YOU A MAXIMUM SPEED OF 38.4KBPS, BUT IF YOU REPLACE
THIS WITH A STANDARD-SPEED CRYSTAL (1.8432 ═╚Z), THEN THE TOP SPEED OF
115.2KBPS CAN BE USED. ╬OTE THAT YOU SACRIFICE THE ABILITY TO USE
38.4KBPS AND THE NEXT LOWER SPEED IS 19.2KBPS, PLUS YOU VOID ANY
WARRANTY. ╘HE TERMINAL PROGRAM HAS A MINOR CHANGE TO SUPPORT THE NEW
BAUD RATE, AND WITH 115.2KBPS, ╔ HAVE DOWNLOADED 4832 CPS USING ╞╪ WITH
MY 28.8KBPS MODEM FOR A LARGE TEXT FILE (├= ╚ACKING MAGAZINE ╔SSUE #4).
- ┴ NUMBER OF NEW FONTS ARE PROVIDED, INCLUDING WIDE, SHORT, AND NORMAL
╬OVATERM SOFT-80 FONTS AND ┴╬╙╔-GRAPHICS (STANDARD ╔┬═-╨├, ╔ DON'T KNOW
WHAT CODE PAGE) FONTS.
- ╘HE USER-PORT DEVICE DRIVER HAS BEEN EXTENDED TO USE EITHER THE ╨├2 LINE
(FOR COMPUTERS) OR THE ╨┴2 LINE (FOR PRINTERS) FOR HANDSHAKING IN ITS
"RAW"-MODE OUTPUT. (╘HE ╟┼╧CABLE IS MIS-DESIGNED TO USE THE ╨┴2 LINE
RATHER THAN THE ╨├2 LINE FOR SIGNALLING DATA-READY TO THE PRINTER). ╔N
ADDITION TO RAW MODE WITH ╨├2/╨┴2, THERE IS ALSO A "PACKET" MODE WITH
╨├2/╨┴2.
- ╘HE ┴├┼ KERNEL INTERFACE HAS BEEN REORGANIZED, PLUS A FEW NEW FEATURES
HAVE BEEN IMPLEMENTED, INCLUDING FASTER SOFT-80 FIELD FILLING, MOUSE
SUPPORT AND MORE-POWERFUL GRAPHICS SUPPORT. ┴ TEST PROGRAM "MOUSETEST"
IS PROVIDED, WHICH ALLOWS YOU TO MOVE A POINTER AROUND A HIRES SCREEN
WITH A MOUSE IN PORT #1. ═ORE ABILITY TO MANIPULATE THE CHARACTER SET
HAS ALSO BEEN IMPLEMENTED. ╙EE THE ┴├┼ ╨ROGRAMMER'S ╥EFERENCE ╟UIDE FOR
MORE DETAILS. ╘HE "JIFFY" RATE ON THE ╨┴╠ ├64 HAS BEEN CHANGED TO 60 ╚Z,
BUT IT IS STILL 50 ╚Z ON ╨┴╠ ├128S FOR TECHNICAL REASONS. ╔ WILL TRY TO
FIX THIS NEXT TIME.
- ╙OME BUGS HAVE BEEN FIXED UP, INCLUDING ONE IN THE "FX" CLIENT PROGRAM
THAT CAUSED PROBLEMS IN THE 7-BIT MODE. ╘HE USER-PORT DRIVER HAD A BUG
IN CLOSING RAW-MODE CHANNELS. ┴LSO, THANKS TO ╟EOFF ╙ULLIVAN, ╔ NOW HAVE
MY OWN GEO├ABLE AND HAVE TESTED THE USER-PORT PRINTING CODE. ┬UT,
UNFORTUNATELY, THERE SEEMS TO BE A BUG WHEN PRINTING GRAPHICS WITH VBMPR
OVER THIS PORT; IT APPEARS TO SOMETIMES PRINT TOO FEW GRAPHICS CHARACTERS
WHICH CAUSES THE PRINTER TO GET OUT OF SYNCH WITH THE GRAPHICS DATA.
┴LSO, THERE SEEMS TO BE A PROBLEM WITH THE ╬╧ ╙├╥╧╠╠ KEY NOT DOING
ANYTHING, THAT ╔ DON'T HAVE TIME TO INVESTIGATE RIGHT NOW.
╘HIS DISTRIBUTION CONSISTS OF THE FOLLOWING FILES. ╙YSTEM FILES:
ACE - THE KERNEL BOOTSTRAPPER; RUNNABLE FROM EITHER 64 OR 128 MODE
ACE128 - THE KERNEL FOR THE ├128
ACE64 - THE KERNEL FOR THE ├64
CONFIG - THE CONFIGURATION-INITIALIZER PROGRAM
.ACERC - THE SYSTEM CONFIGURATION - THIS IS DATA, NOT AN EXECUTABLE
CONFIG.EDIT - CONFIGURATION-EDITOR PROGRAM (WRITTEN IN ┬┴╙╔├)
ACECHR-STANDARD - STANDARD ┴├┼ CHARACTER SET (SPECIAL GRAPHIC CHARACTERS)
ACECHR-COMMODORE - REGULAR ├OMMODORE CHARACTER SET
ACECHR-ISO-ACE - ╔╙╧ 8859-1 CHARACTER SET, WITH ┴├┼ 4-BIT IMAGES
ACECHR-ISO-NOVA - ╔╙╧ 8859-1 CHARACTER SET, WITH ╬OVATERM 4-BIT IMAGES
ACECHR-ISO-WIDE - ╔╙╧ 8859-1 CHARACTER SET, WITH ╬OVATERM-"╫IDE" 4-BIT IMAGES
ACECHR-ISO-SHORT - ╔╙╧ 8859-1 CHARACTER SET, WITH ╬OVATERM-"╙HORT" 4-BIT IMAGES
ACECHR-ANSI-ACE - ┴╬╙╔ CHARACTER SET, WITH ┴├┼ 4-BIT IMAGES
ACECHR-ANSI-NOVA - ┴╬╙╔ CHARACTER SET, WITH ╬OVATERM 4-BIT IMAGES
ACECHR-ANSI-WIDE - ┴╬╙╔ CHARACTER SET, WITH ╬OVATERM-"╫IDE" 4-BIT IMAGES
ACECHR-ANS-SHORT - ┴╬╙╔ CHARACTER SET, WITH ╬OVATERM-"╙HORT" 4-BIT IMAGES
ACECHR-ANS-PERRY - ┴╬╙╔ CHARACTER SET, WITH "╨ERRYFONT" :-) 4-BIT IMAGES
ACEKEY-QWERTY - REGULAR QWERTY KEY MATRIX (ALSO BUILT IN)
ACEKEY-DVORAK - ─VORAK KEY MATRIX
SH - THE COMMAND SHELL (REALLY, AN APPLICATION PROG)
.ASHRC - THE ┴├┼-COMMAND-SHELL AUTO-EXECUTION SHELL SCRIPT
┴PPLICATION PROGRAMS (EXPLAINED IN ╙ECTION 6.3):
CP - COPY FILES
RM - REMOVE FILES (SCRATCH)
MV - RENAME FILES (NAMED FOR ╒NIX "MV"=="MOVE")
MKDIR - CREATE A NEW DIRECTORY (FLAT NAME)
RMDIR - REMOVE AN EXISTING EMPTY DIRECTORY (FLAT NAME)
WC - COUNT WORDS, LINES, CHARACTERS OF FILES
GREP - SEARCH FOR A SUBSTRING IN FILES (FROM ╒NIX "GREP")
TR - TRANSLATE FROM ONE CHARACTER SET TO ANOTHER
SORT - SORT LINES OF FILES
WRAP - WRAP LINES LONGER THAN 75 CHARACTERS
DATE - DISPLAY CURRENT DATE AND TIME
FORTY - SWITCH TO 40-COL SCREEN, SLOW MODE
EIGHTY - SWITCH TO 80-COL SCREEN, FAST MODE ON 128, OR SOFT-80 ON 64
READ - READ FILES (FOR TESTING)
MEM - DISPLAY AVAILABLE DYNAMIC AND TRANSIENT-PROGRAM-AREA MEMORY
HELLO - DUMB LITTLE "HELLO WORLD" EXAMPLE PROGRAM
WINDOW - SET THE CURRENT WINDOW DIMENSIONS
ACECHR - CHARACTERSET LOADER
KEYMAT - KEY-MATRIX LOADER
HEAD - DISPLAY THE FIRST ╬ LINES OF A FILE, DONATED BY ╩AKE ╚AMBY
JIF - DISPLAY THE CURRENT JIFFY-CLOCK TIME
MOUSETEST - MOUSE/GRAPHICS DEMO PROGRAM
MORE - FULL-SCREEN FILE VIEWER
UUENCODE - ENCODE FILES INTO UUENCODED FORMAT
UUDECODE - DECODE FILES FROM UUENCODED FORMAT
BCODE - ENCODE FILES INTO ┬├╧─┼ FORMAT
UNBCODE - DECODE FILES FROM ┬├╧─┼ FORMAT
CRC32 - DISPLAY ├╥├-32 *┬* VALUES FOR FILES (NEW STANDARD)
CRC32A - DISPLAY ├╥├-32 *┴* VALUES FOR FILES (OLD STANDARD)
KAR - ╦┴╥ (╦EVIN'S ┴╥CHIVER) FILE ARCHIVER (ALL-TEXT FORMAT)
UNKAR - ╦┴╥ (╦EVIN'S ┴╥CHIVER) FILE DEARCHIVER
VBM - ╓┬═ BITMAP-FILE VIEWER
VBMPR - ╓┬═ BITMAP-FILE (V2 ONLY) PRINTER FOR ┼PSON-COMPATIBLE PRINTERS
AS - ONE-PASS ASSEMBLER
TERM - SIMPLE ╓╘-100 TERMINAL-EMULATION PROGRAM
FX - CUSTOM ╞ILE E╪CHANGE (UPLOAD/DOWNLOAD) PROGRAM
Z - ┌┼─ TEXT EDITOR
╘HESE BINARY PROGRAMS ARE SUPPLIED IN ┬├╧─┼D ARCHIVE FORMAT, IN TWO SEPARATE
FILES: ONE FOR SYSTEM FILES AND ONE FOR APPLICATION FILES (ONE FILE WOULD BE
TOO BIG FOR SOME SYSTEMS). ╘HE "UNBCODE" PROGRAM INCLUDED HERE WILL DECODE
THIS FORMAT OF ARCHIVE, BUT THIS IS A ├ATCH-22, SO YOU WILL HAVE TO EITHER USE
A PREVIOUS RELEASE OF ┴├┼ TO DECODE THIS RELEASE, OR YOU'LL HAVE TO GET THE
├-LANGUAGE "UNBCODE" PROGRAM FOR ╒NIX AND ═╙-─╧╙. ╔ USED TO DISTRIBUTE THE
BINARIES IN UUENCODED FORMAT, BUT ╔ HAVE SWITCHED TO ┬├╧─┼ FORMAT SO THAT
PEOPLE WILL NOT ACCIDENTALLY CORRUPT THEIR DOWNLOADS (AND FOR POLITICAL
REASONS). ╘HE FILES MAY ALSO BE AVAILABLE IN ".╙╞╪" FORMAT TOO, SOMETIME. ╔N
THE FUTURE, ╔ MAY BE MAKING DISTRIBUTIONS IN ".├╙╪" (├RAIG'S ╙ELF-E╪TRACTING)
FORMAT, WHICH, OF COURSE, WILL BE TECHNOLOGICALLY SUPERIOR TO ".╙╞╪".
╬OTE THAT THE "ACE128" AND "ACE64" PROGRAMS ARE FUNCTIONALLY IDENTICAL,
EXCEPT THAT ONE IS SET UP FOR THE 128 AND THE OTHER FOR THE 64. ╘HUS, ALL
OF THE APPICATION BINARY PROGRAMS WILL WORK WITH EITHER "ACE128" OR
"ACE64". ╠╧┴─ AND ╥╒╬ THE "ACE" PROGRAM AND IT WILL LOAD THE CORRECT
"KERNEL" FOR YOUR COMPUTER. ╧R, YOU CAN CHANGE THE FIRST LINE OF THE "ACE"
PROGRAM TO LOAD A DIFFERENT SYSTEM CONFIGURATION AND SAVE IT WITH A NAME
LIKE "ACE-BIGMEM" OR SOMETHING, AND RUN THAT WHEN YOU WANT TO USE THE
ALTERNATE SYSTEM CONFIGURATION.
╘HE ┬UDDY- AND ┴├┼ASSEMBLER SOURCE CODE FILES ARE ALSO PUBLICLY AVAILABLE IN
".╦┴╥" FORMAT. ═OST SMALLER PROGRAMS ARE IN ┬UDDY FORMAT (EXCEPT FOR THE
KERNEL ITSELF) AND MOST BIGGER PROGRAMS ARE IN THE ┴├┼ASSEMBLER FORMAT.
┘OU SHOULD NOTE THAT, WITH THE EXCEPTION OF CONDITIONAL AND MACRO ASSEMBLY,
┴├┼ASSEMBLER FORMAT IS PRETTY MUCH A SUPERSET OF ┬UDDY FORMAT. ╙EE THE
"ACE╬╬-FILES.DOC" DOCUMENTATION FILE FOR A LIST OF THE VARIOUS FILES THAT
ARE AVAILABLE.
------------------------------------------------------------------------------
2. ╒╙╔╬╟ ╘╚┼ ╙┘╙╘┼═
╫HEN ┴├┼ STARTS, IT LOADS AND EXECUTES THE COMMAND SHELL (AMONG OTHER THINGS),
GIVES YOU A PROMPT AND WAITS FOR YOU TO GIVE IT A COMMAND. ┴ COMMAND HAS THE
FOLLOWING FORMAT:
PROGRAMNAME ARG1 ARG2 ... ARG╬
╘HE PROGRAMNAME CAN BE ANY OF THE FOLLOWING BUILT-IN COMMANDS (COVERED IN
╙ECTION 6.1):
ECHO - PRINT THE GIVEN ARGUMENTS TO STDOUT
CLEAR - CLEAR THE SCREEN
CLS - SAME AS "CLEAR"
DIR - CLEAR THE SCREEN AND GIVE A LONG-FORM DIRECTORY LISTING
D - SAME AS "DIRECTORY", BUT NO CLEAR SCREEN
LS - GIVE A MULTI-COLUMN SHORT-FORM DIRECTORY LISTING
CLSL - COMBINATION OF "CLS" AND "LS"
CD - CHANGE THE CURRENT WORKING DEVICE/DIRECTORY
CAT - DISPLAY THE NAMED FILES TO STDOUT
EXIT - EXIT FROM THE COMMAND SHELL (PERHAPS BACK TO ┬┴╙╔├)
X - SAME AS "EXIT"
DOS - GIVE A ├OMMODORE DOS COMMAND TO THE CURRENT DEVICE (╧╨┼╬1,DV,15..)
@ - SAME AS "DOS"
PATH - SET THE PATH TO SEARCH FOR EXTERNAL PROGRAMS
SH - INVOKE THE SHELL AGAIN AS A SUB-SHELL
OR PROGRAMNAME CAN BE FOR ANY OF THE EXTERNAL PROGRAMS PROVIDED WITH THIS
DISTRIBUTION. ┘OU'LL HAVE TO FORGIVE MY PERSONAL TASTE IN COMMAND NAMES AND
ABBREVIATIONS (UNTIL THE "ALIAS" SHELL FEATURE IS FINALLY IMPLEMENTED).
2.1. ╔╬╨╒╘/╧╒╘╨╒╘ ╥┼─╔╥┼├╘╔╧╬
╘HE THREE ╒NIX STANDARD FILES ARE SUPPORTED:
STDIN - WHERE THE DEFAULT INPUT COMES FROM (USUALLY THE KEYBOARD)
STDOUT - WHERE THE DEFAULT OUTPUT GOES TO (USUALLY THE SCREEN)
STDERR - WHERE ERROR MESSAGES ARE SENT TO (USUALLY THE SCREEN)
╘O TEMPORARALLY REDIRECT THESE STANDARD FILE STREAMS FOR THE EXECUTION OF A
COMMAND, YOU CAN USE THE FOLLOWING INCANTATIONS ON A COMMAND LINE:
<INFILE - REDIRECT STDIN - INPUT TAKEN FROM "INFILE"
>OUTFILE - REDIRECT STDOUT - OUTPUT PUT INTO FILE "OUTFILE"
>>OUTFILE - REDIRECT STDOUT - SAME AS ">" BUT THE OUTPUT IS APPENDED TO FILE
>&ERRFILE - REDIRECT STDERR - ERROR OUTPUT IS PUT INTO "ERRFILE"
>>&ERRFILE - REDIRECT STDERR - ERROR OUTPUT IS APPENDED TO FILE "ERRFILE"
─O NOT PUT A SPACE BETWEEN THE REDIRECTION SYMBOL(S) AND THE FILE NAME.
2.2. ╨┴╘╚╬┴═┼╙
╫HENEVER YOU SPECIFY A FILE, YOU USE A "PATHNAME". ╨ATHNAMES HAVE THE
FOLLOWING OPTIONAL PARTS:
[DEVICE:][RAMLINK-DIRECTORY:][FILENAME]
─EVICE NAMES ARE SET BY THE USER IN THE CONFIGURATION FILE, BUT THE FACTORY
DEFAULTS ARE:
"A:" - ├OMMODORE DISK DEVICE #8 - INPUT/OUTPUT
"B:" - ├OMMODORE DISK DEVICE #9 - FOR IF YOU HAVE >1 DRIVE
.... - ├OMMODORE DISK DEVICES #10 TO #16
"J:" - ├OMMODORE DISK DEVICE #17 - A DISK DRIVE
"K:" - ├USTOM DEVICE DRIVER: THE KEYBOARD (OR SCREEN)
"M:" - ├USTOM DEVICE DRIVER: ╥AMDISK
"N:" - ├USTOM DEVICE DRIVER: "NULL" DEVICE
"P:" - ├OMMODORE DEVICE #4 - THE PRINTER, WITH ╙EC┴DDR 7 - OUTPUT ONLY
"Q:" - ├OMMODORE DEVICE #4 - THE PRINTER, WITH ╙EC┴DDR 5 - TRANSPARENT MODE
"S:" - ├USTOM DEVICE DRIVER: THE SCREEN (OR KEYBOARD)
"U:" - ├USTOM DEVICE DRIVER: USER-PORT INTER-MACHINE NETWORK/PAR-PRINT CABLE
"X:" - ├USTOM DEVICE DRIVER: MODEM ("TO THE E╪TERNAL WORLD") (╙WIFT╠INK-232)
"Z:" - ├USTOM DEVICE DRIVER: ╥AMDISK - INTENDED FOR STORING EXECUTABLES
".:" - THE "CURRENT" DISK DEVICE
├═─ ╥┴═╠INK (OR ├═─ ╚ARD─RIVE) DIRECTORY NAMES HAVE THE FOLLOWING FORMATS:
//DIR/: - A SUBDIRECTORY OF THE ROOT DIRECTORY
/DIR/: - A SUBDIRECTORY OF THE CURRENT DIRECTORY
4//DIR/DIR/DIR/: - A SUB-PATH OF THE ROOT DIRECTORY OF PARTITION #4
/DIR/DIR/DIR/: - A SUB-PATH OF THE CURRENT DIRECTORY
┴ND FILENAMES HAVE THE USUAL ├OMMODORE FORMAT OF 1 TO 16 CHARACTERS.
╘HUS, THE FOLLOWING ARE VALID PATHNAMES FOR FILES:
K: - THE KEYBOARD FOR INPUT
P: - THE PRINTER FOR OUTPUT
B:FILE1 - "FILE1" ON DISK DEVICE #9
.:FILE1 - "FILE1" ON THE CURRENT DISK DEVICE
FILE1 - "FILE1" ON THE CURRENT DISK DEVICE
/DIR1/:FILE1 - "FILE1" IN THE ╥AM╠INK SUBDIRECTORY "DIR1", CUR. DEVICE
A://DIR1/DIR2/:FILE1 - "FILE1" IN THE ╥AM╠INK SUBDIR "//DIR1/DIR2", DEVICE #8
┴ND THE FOLLOWING ARE VALID PATHNAMES FOR DIRECTORIES:
A: - DISK DEVICE #8 CURRENT DIRECTORY
.: - CURRENT DISK DEVICE'S CURRENT DIRECTORY
.://DIR1/: - "DIR1" OFF THE ROOT DIRECTORY OF THE CURRENT ╥AM╠INK DEVICE
/DIR1/DIR2/: - SUBDIRECTORY "/DIR1/DIR2" OF THE CURRENT ╥AM╠INK DEVICE
╬OTE THAT A DIRECTORY NAME ALWAYS ENDS WITH A ":".
┘OU MAY APPEND A ",P" OR ",S" OR ",U" TO A FILENAME TO SPECIFY WHETHER A
╨╥╟, ╙┼╤, OR ╒╙╥ FILE SHOULD BE ACCESSED/CREATED. ┬Y DEFAULT, ┴├┼ WILL
CREATE ╙┼╤ FILES.
┬╘╫, TO GENERATE AN ┼╧╞ FOR KEYBOARD INPUT, SIMPLY PRESS ├ONTROL-─. ╧NLY DO
THIS AT THE BEGINNING OF A BLANK LINE.
2.3. ├╧══┴╬─-╙╚┼╠╠ ┴╥╟╒═┼╬╘╙
┴RGUMENTS THAT CONTAIN SPACES MUST BE PUT INTO QUOTES. ═ULTIPLE QUOTED
STRINGS CAN BE PLACED SIDE-BY-SIDE TO PRODUCE A LONGER STRING. ╘HE
FOLLOWING ARE EXAMPLES OF VALID COMMAND-SHELL ARGUMENTS:
HELLO - HELLO
'HELLO' - HELLO
"HELLO THERE" - HELLO THERE
'HELLO THERE' - HELLO THERE
'SHE SAID, "HOW'"'S THAT"'"'' TO ME.' - SHE SAID, "HOW'S THAT" TO ME.
├OMMAND SHELL ARGUMENTS ARE SEPARATED BY SPACES OR TAB CHARACTERS.
2.4. ┼╪╘┼╥╬┴╠-├╧══┴╬─ ╙┼┴╥├╚ ╨┴╘╚
╘HE "PATH" COMMAND SETS OR DISPLAYS THE CURRENT SEARCH PATHNAMES FOR
EXTERNAL PROGRAMS. ┬Y DEFAULT THE PATHS TO SEARCH ARE "Z:" AND "A:". ╘HE
PATH CONSISTS OF MULTIPLE DIRECTORY NAMES TO BE CHECKED, IN ORDER, FOR EACH
BINARY EXECUTABLE OR SHELL SCRIPT THAT YOU GIVE THAT DOES NOT HAVE A
PATHNAME PREFIX.
2.5. ╫╔╠─├┴╥─╙
╒NIX-STYLE WILDCARD EXPANSION IS SUPPORTED. ╫HEN YOU ENTER AN ARGUMENT WITH
AN ASTERISK IN THE FILENAME COMPONENT OF THE PATHNAME, THE COMMAND SHELL
WILL AUTOMATICALLY EXPAND THAT NAME INTO AN ARGUMENT FOR EACH FILE IN THE
SPECIFIED DIRECTORY THAT MATCHES THAT PATTERN. ╘HE EXPANDED ARGUMENTS ARE
THEN PASSED ONTO THE COMMAND YOU ARE INVOKING AS IF YOU HAD TYPED THEM ALL
IN YOURSELF. ╞OR EXAMPLE:
┴╥╟╒═┼╬╘ ┼╪╨┴╬╙╔╧╬
-------- ---------
* FILE1 PROG1,P PROG2,P
CH* CHESS,P CHINESE_CHECKERS,P
*.BIN MAIN.BIN,P DATA.BIN ANAGRAM.BIN
A*N ANAGRAM.BIN AN ANOTHER_PLAN
B:*.BIN B:MAIN.BIN,P B:DATA.BIN B:ANAGRAM.BIN
C://GAMES/:A*.BIN C://GAMES/:ACROBAT.BIN,P C://GAMES/:ACRODATA.BIN
┘OU'LL NOTE THAT PROGRAM FILES ARE EXPANDED TO INCLUDE A ",P". ╔F A PATTERN
DOES NOT EXPAND TO ANYTHING, AN ERROR MESSAGE IS DISPLAYED AND THE SHELL
COMMAND IS NOT EXECUTED. ┘OU'LL HAVE TO CURSOR-UP AND CHANGE THE COMMAND.
┘OUR FILENAME PATTERN CAN INCLUDE ONLY ONE ASTERISK (ANYWHERE IN THE NAME).
╙OME EXAMPLE USES OF WILDCARD EXPANSION WITH THE PROVIDED UTILITIES FOLLOW:
CP B:* A:
CP //GAMES/C64/:CHESS*.BIN SOMEFILE B://GAMES/:
WC *.ASM *.C
------------------------------------------------------------------------------
3. ╙┘╙╘┼═ ├╧╬╞╔╟╒╥┴╘╔╧╬
╘HE PROGRAM ENTITLED "CONFIG.EDIT" IS USED FOR EDITING THE SYSTEM
CONFIGURATION. ╘HE SYSTEM WILL BE CONFIGURED ACCORDING TO THE DATA IN THE
FILE ".ACERC" EVERY TIME IT STARTS UP. ╬OTE THAT ".ACERC" IS A LOADABLE
BINARY ╨╥╟ FILE; IT IS NOT IN TEXT FORMAT AND IS NOT MEANT TO BE EDITED WITH A
TEXT EDITOR.
╘HE FOLLOWING DATA IS INCLUDED IN THE ".ACERC" FILE:
╧╞╞ ╙╔┌ ─┼╙├
--- --- ----
$00 128 DEVICE DESCRIPTORS, 32 ENTRIES OF FOUR BYTES EACH.
[╞OR EACH ENTRY, OFFSETS: 0=DEVICE DRIVER TYPE, 1=DEVICE ADDRESS,
2=SECONDARY ADDRESS, 3=FLAGS. ─ESCRIBED FURTHER BELOW.]
$80 1 RAMLINK DEVICE NUMBER
[╘HE KERNEL DEVICE NUMBER OF YOUR ╥┴═╠INK. ╘HE DEFAULT ╥╠ DEVICE
NUMBER IS 16.]
$81 1 RAMLINK LAST LOGICAL BANK ALLOWED TO USE PLUS ONE (NORM 255)
[╞OR THE ╥┴═╠INK MEMORY PARTITION (NEXT SECTION), THE MAXIMUM
NUMBER OF 64╦ CHUNKS THAT CAN BE USED FOR DYNAMIC MEMORY.]
$82 4 REAL-TIME CLOCK DEVICES TO CHECK [4], 255=UNUSED, 254=╙MART╫ATCH
[╘HESE ARE THE KERNEL DEVICE NUMBERS OF ├═─ DISK DRIVE UNITS THAT
HAVE A BUILT-IN REAL-TIME CLOCK TO CHECK FOR THE CURRENT TIME. ╔F
THE FIRST ENTRY FAILS, THEN THE SECOND WILL BE TRIED, ETC., UNTIL
THE FOURTH ENTRY IS TRIED. ╔F ALL DEVICES FAIL TO RETURN A TIME,
THEN THE DEFAULT DATE IS USED (NEXT). ┴ VALUE OF 255 IN AN ENTRY
MEANS TO TRY THE NEXT ENTRY. ┴ VALUE OF 254 IN AN ENTRY MEANS TO
TRY TO READ THE TIME FROM THE ╙MART╫ATCH DEVICE PLUGGED INTO
JOYSTICK PORT #1. ┴├┼ USES THE ╘╧─ CLOCK OF ├╔┴#1 TO KEEP TIME.
╘HE DATE IS STORED IN A REGULAR MEMORY FIELD AND IS NOT ROLLED ON
A 24-HOUR ╘╧─ CLOCK WRAP-AROUND.]
$86 1 SCREEN SAVER ACTIVATION TIME, IN MINUTES (NORM 10)
[╘HE SCREEN WILL GO BLACK WHEN THE SCREEN SAVER IS ACTIVATED, AFTER
A PERIOD WHERE YOU HAVE NOT PRESSED ANY KEY FOR THE SPECIFIED TIME,
UNTIL YOU PRESS A KEY (INCLUDING THE ANY OF THE SHIFT KEYS). ╔F
YOU PRESS ANY CHARACTER KEY, THAT KEY WILL APPEAR IN YOUR INPUT.
╬ORMAL PROCESSING WILL CONTINUE IN THE BACKGROUND, WHILE THE SCREEN
SAVER IS ACTIVE, INCLUDING PRINTING TO THE SCREEN. ╘HIS TIME IS IN
MINUTES. ┴ VALUE OF ZERO MEANS TO DISABLE THE SCREEN SAVER. ╘HE
SCREEN SAVER IS NOW ACTIVE FOR THE 40-COLUMN AND 80-COLUMN
DISPLAYS.]
$87 1 ╥╘╙ ASSERTION-TO-MODEM-ACCEPTANCE DELAY PERIOD (NORM. 40)
[╘HIS VALUE GIVES A "FUDGE FACTOR" FOR THE ╙WIFT╠INK DRIVER FOR
CONTROLLING THE HARDWARE FLOW CONTROL. ╙INCE ├OMMODORE COMPUTERS
CANNOT DO DISK ╔/╧ AND PROCESS ╙WIFT╠INK INTERRUPTS AT THE SAME
TIME, IT IS NECESSARY TO TURN INTERRUPTS OFF DURING ╔/╧. ╘HIS
MEANS THAT IF MORE THAN ONE CHARACTER SHOWS UP WHILE INTERRUPTS
ARE DISABLED, THEN DATA WILL BE LOST. ╘HE FUDGE FACTOR IS THE
PERIOD THAT ┴├┼ DELAYS BETWEEN ASSERTING THE ╥╘╙ FLOW-CONTROL
SIGNAL AND DISABLING INTERRUPTS. ╘HE VALUE HAS NO PARTICULAR
MEANING, JUST THE NUMBER OF TIMES THAT A PARTICULAR BUSY-WAITING
LOOP IN THE ╙╠ DRIVER IS EXECUTED. ╔F YOU ARE LOSING OCCASIONAL
CHARACTERS DURING BUFFER CAPTURING IN THE TERMINAL PROGRAM AND
YOU HAVE THE MODEM CONFIGURED PROPERLY FOR ╥╘╙/├╘╙ FLOW CONTROL,
THEN YOU MIGHT TRY INCREASING THIS VALUE TO SEE IF THAT SOLVES
THE PROBLEM. ╫ITH MY ╒╙╥ 28.8 MODEM, A VALUE OF 10 WORKS JUST
FINE, BUT ╔'VE FUDGED THE FUDGE TO BE SAFE HERE.]
$90 12 DEFAULT DATE AND TIME ┘┘:┘┘:══:──:╚╚:══:╙╙:╘╘:╘╫:╟╟:GG:┴┴
[╘HE DEFAULT DATE TO USE IF ATTEMPTS TO ACCESS THE CURRENT TIME
FROM ├═─ DISK DEVICES/╙MART╫ATCH FAIL. ╞ORMAT IS 24-HOUR ┬├─.
┴LL FOUR DIGITS OF THE YEAR ARE GIVEN. ╘HE "╘╘" FIELD IS WHERE
YOU PUT THE _HUNDREDTHS_ OF SECONDS (I.E., THE TENTHS GO INTO THE
UPPER DIGIT). ╘HE "╘╫" FIELD IS WHERE YOU PUT THE DAY OF THE
WEEK: 0 MEANS ╙UNDAY, 1 MEANS ═ONDAY, ..., 6 MEANS ╙ATURDAY, AND
7 MEAND "UNKNOWN". ╘HE "╟╟" FIELD IS WHERE YOU PUT THE NUMBER OF
HOURS THAT YOUR TIME ZONE IS OFF FROM ╟═╘. ╬EGATIVE VALUES ARE
ENTERED BY ADDING 80 TO THE NUMBER OF HOURS (SETTING THE HIGH BIT
OF THE ┬├─ VALUE). ╞OR EXAMPLE, ┼─╘ (WHERE ╔ AM) IS OFF BY -4
HOURS FROM ╟═╘, SO ╔ WOULD ENTER 84. ┴ VALUE OF 99 MEANS
"UNKNOWN". ╘HE "GG" FIELD IS WHERE YOU ENTER THE NUMBER OF
MINUTES YOU ARE OFF FROM ╟═╘, IF YOU ARE NOT OFF BY AN EVEN
NUMBER OF HOURS. ╘HIS IS ALWAYS A POSITIVE VALUE. ╘HE "┴┴"
FIELD IS WHERE YOU ENTER THE ACCURACY OF YOUR CLOCK WITH RESPECT
TO THE ACTUAL REAL TIME. ╘HESE TIME-ZONE/ACCURACY FIELDS ARE
USED EVEN IF YOU PULL THE TIME FROM A ├═─/╙MART╫ATCH DEVICE, SO
SET THE ACCURACY ACCORDING TO WHERE THE TIME WILL USUALLY
COME FROM. ╘HE ACCURACY WILL BE INTERPRETED AS 2^┴┴ IN
MILLISECONDS, SO A VALUE OF 10 WOULD MEAN +/- ABOUT A SECOND. ┴
VALUE OF 99 MEANS "UNKNOWN". ╧R, IF YOU DON'T WANT TO BOTHER,
IT'S NOT REALLY VERY IMPORTANT THAT YOU FILL THIS TIMEZONE/
ACCURACY INFORMATION IN. ╘HE FACTORY-SET VALUE OF THIS FIELD
IS 12AM, ╙UNDAY, ╩AN 1, 1995., WITH UNKNOWN TIMEZONE AND
ACCURACY.]
$9├ 4 ╙TRING: NAME OF YOUR TIME ZONE: UP TO THREE CHARS PLUS NULL
[╘HIS IS ADDED JUST FOR OFFICIALNESS. ╘HE DEFAULT VALUE IS "╪╪╪",
WHICH MEANS 'UNKNOWN'.]
$┴0 1 ├128 BANK1 START FREE PAGE (NORM $04)
[╘HIS FIELD AND THE NEXT DEFINE THE PAGES OF ╥┴═1 THAT ┴├┼ IS ALLOWED
TO USE. ╘HIS MUST INCLUDE AT LEAST ONE PAGE.]
$┴1 1 ├128 BANK1 LAST FREE PAGE PLUS ONE (NORM $FF)
$┴2 1 ├128 EXPANDED INTERNAL MEMORY TYPE
[╬OT CURRENTLY USED.]
$┴3 1 ├128 BANK0 LAST ALLOWED FREE PAGE PLUS ONE (NORM $FF)
[╘HIS IS THE HIGHEST PAGE, PLUS ONE, ON ╥┴═0 THAT ┴├┼ IS ALLOWED TO
USE. ┘OU CAN SET THIS TO PROTECT A PROGRAM THAT YOU WISH TO
ATTEMPT TO USE WITH ┴├┼ (GOOD LUCK). ╘HERE IS NO MINIMUM PAGE THAT
┴├┼ IS ALLOWED TO USE; IT TAKES WHATEVER IT WANTS BELOW $6000.]
$┴4 1 ├64 SOFT-80 NON-╥┼╒ _MINIMUM_ PRESCROLL AMOUNT (NORM 5)
[╘HIS WILL MAKE IT SO THAT EACH "WRITE" SYSTEM CALL THAT PRINTS DATA
TO THE SCREEN THAT CAUSES THE SCREEN TO SCROLL WILL MAKE THE SCREEN
SCROLL BY AT THE GIVEN NUMBER OF LINES, EVEN IF THERE ISN'T ENOUGH
DATA TO FILL THE SCROLLED-UP NUMBER OF LINES. ╘HIS MAKES THE
SCROLLING ACTION A LITTLE UGLIER BUT ╬ TIMES MORE EFFICIENT FOR
PROGRAMS THAT PRINT DATA ONE LINE AT A TIME, LIKE "LS".]
$┴5 1 ├128 LAST INTERNAL BANK ALLOWED TO USE ABOVE 2, PLUS ONE (NORM 8)
[╞OR EXPANDED INTERNAL MEMORY (A LA ╘WIN├ITIES-128), THIS SETS THE
HIGH LIMIT ON THE BANKS THAT ┴├┼ IS ALLOWED TO USE. ┴ VALUE OF 2
MEANS THAT ┴├┼ IS NOT ALLOWED TO USE IT AT ALL. ╘HERE IS NO LOW
LIMIT ON THIS BECAUSE IT CAUSED TOO MANY PROGRAMMING PROBLEMS.]
$┴6 1 ├128 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
[╘HIS AND THE NEXT FIELD DEFINE THE MINIMUM AND MAXIMUM (PLUS ONE)
╥┼╒ BANK NUMBERS THAT ┴├┼ IS ALLOWED TO USE. ╔ INCLUDED A MINUMUM
BECAUSE OF PLEAS ABOUT ┌ED HAVING A MINIMUM. ╔F YOU SET BOTH MIN
AND MAX TO $00, THEN ┴├┼ WILL LEAVE THE ╥┼╒ MEMORY ALONE.
╧THERWISE, ┴├┼ WILL AUTO-DETECT HOW MUCH YOU HAVE AND WILL MAKE USE
OF AS MUCH ╥┼╒ MEMORY AS IT CAN (NOTE THE DEFAULT MAX IS 255).]
$┴7 1 ├128 LAST ╥┼╒ BANK ALLOWED TO USE PLUS ONE (NORM 255)
$┴8 1 ├128 TOP PAGE OF ╘╨┴ (STACK) (NORM $C0)
[╘HIS DEFINES THAT PAGE (PLUS ONE) OF THE TOP OF THE APPLICATION
PROGRAM AREA (╘╨┴). ╘HE BOTTOM IS $6000, SO A TOP OF $├000 GIVES
APPS 24╦ TO PLAY AROUND IN. $├0 IS THE MAXIMUM VALUE THIS FIELD
CAN HAVE, SINCE THE ├OMMODORE ╦ERNAL MUST (FOR THIS RELEASE) STAY
IN CONTEXT WHENEVER ┴├┼ IS IN USE. ╘HE TOP OF THIS SPACE IS ALSO
USED AS THE "ARGUMENT STACK" FOR APPLICATIONS.]
$┴9 1 ├128 ╓─├ DEFAULT NUMBER OF ROWS (NORM 25)
[╘HIS OPTION SELECTS THE NUMBER OF ROWS TO DISPLAY ON THE ╓─├ SCREEN
WHENEVER ┴├┼ STARTS UP OR WHENEVER A USER PROGRAM (LIKE "EIGHTY")
SAYS TO USE THE DEFAULT NUMBER OF DISPLAY ROWS.]
$┴┴ 1 ├128 ╓─├ NUMBER OF ╦BYTES OF VIDEO ╥┴═ (NORM 16)
[╫HAT IT SAYS. ╓ALID VALUES FOR THIS OPTION ARE 16 AND 64. ╘HERE
WILL BE NO PROBLEM IF YOUR MACHINE REALLY HAS 64╦ BUT YOU ONLY SAY
IT HAS 16╦.]
$┴┬ 1 ├64 SOFT-80 SCREEN MAXIMUM PRESCROLL FOR ╥┼╒-SUPPORTED SCROLLING
[╘HE MAXIMUM NUMBER OF LINES TO "PRESCROLL" THE SCREEN IF YOUR
PROGRAM MAKES THE "WRITE" SYSTEM CALL WITH MULTIPLE LINES WORTH OF
DATA TO DISPLAY ONTO THE SCREEN. ╘HE CURSOR WILL ALWAYS END UP ON
THE BOTTOM LINE OF THE DISPLAY. ╘HIS OPTION MAKES THE SCROLLING
A BIT JUMPIER BUT MUCH MORE EFFICIENT. ╘HIS OPTION IS NORMALLY
SET TO 99, WHICH REALLY MEANS THE NUMBER OF LINES ON THE SCREEN.]
$┴├ 1 ├128 80-COL SCREEN MAXIMUM PRESCROLL
[╘HE MAXIMUM NUMBER OF LINES TO "PRESCROLL" THE SCREEN. ╘HE
FACTORY-SET DEFAULT IS 99, WHICH REALLY MEANS THE NUMBER OF LINES
ON THE SCREEN.]
$┴─ 1 ├128 40-COL SCREEN MAXIMUM PRESCROLL
[╘HE MAXIMUM NUMBER OF LINES TO "PRESCROLL" THE SCREEN. ╘HE
FACTORY-SET DEFAULT IS 99, WHICH REALLY MEANS THE NUMBER OF LINES
ON THE SCREEN.]
$┴┼ 1 ├64 SOFT-80 SCREEN MAXIMUM PRESCROLL FOR SOFTWARE SCROLLING
[╘HE MAXIMUM NUMBER OF LINES TO "PRESCROLL" THE SCREEN. ╘HE
FACTORY-SET DEFAULT IS 99, WHICH REALLY MEANS THE NUMBER OF LINES
ON THE SCREEN.]
$┴╞ 1 ├64 40-COL SCREEN MAXIMUM PRESCROLL
[╘HE MAXIMUM NUMBER OF LINES TO "PRESCROLL" THE SCREEN. ╘HE
FACTORY-SET DEFAULT IS 99, WHICH REALLY MEANS THE NUMBER OF LINES
ON THE SCREEN.]
$┬0 8 ├128 80-COL SCREEN COLOR PALETTE: TABLE OF EIGHT ╥╟┬╔ CODES.
[╘HIS TABLE GIVES THE PALETTE OF COLORS TO BE USED BY ├128 80-COL
APPLICATIONS. ╘HE MEANINGS OF THE VALUES STORED AT THE OFFSETS
ARE: 0=CHAR, 1=CURSOR, 2=STATUS, 3=SEPARATOR, 4=HIGHLIGHT, 5=ALERT,
6=BORDER, 7=SCREEN. ╘HE CHAR, BORDER, AND SCREEN COLORS ARE USED
WHEN THE SCREEN DRIVER IS INITIALIZED. ╘HE BORDER VALUE FOR THE
80-COL SCREEN IS CURRENTLY IGNORED. ╬OTE THAT ╥╟┬╔ CODES ARE USED,
EVEN FOR THE ╓╔├ CHIP (FOR CONSISTENCY). ╘HE FACTORY DEFAULTS FOR
CHAR, SCREEN, AND BORDER ARE LIGHT GREY ON BLACK FOR 80 AND LIGHT
GREEN ON DARK GREY WITH A MEDIUM GREY BORDER FOR THE 40 (PERHAPS A
BIT ICKY). ╘HE OTHER VALUES ARE CHOSEN ACCORDINGLY. ╘HE PALETTES
FOR THE OTHER DISPLAYS HAVE THE SAME STRUCTURE AS THIS ONE.]
$┬8 8 ├128 40-COL COLOR PALETTE
$├0 1 ├64 SOFT-80 ENABLE MASK (NORM %10100000)
[╘HE 128-BIT ALLOWS THE SOFT-80 SCREEN TO BE USED. ┴LLOWING THE
SOFT-80 SCREEN COSTS 10╦ OF ╥┴═0 MEMORY ON THE ├64. ╘HIS SOFTWARE-
IMPLEMENTED BITMAP 80-COLUMN SCREEN IS SUPPORTED ONLY ON THE ├64.
╧N A ├128, USE THE REAL 80-COLUMN SCREEN. ╔F THE SOFT-80 SCREEN IS
NOT ALLOWED, THEN THE 10╦ OF MEMORY IS MADE AVAILABLE FOR FAR
MEMORY USE (E.G., FOR RAMDISKS). ╘HE 64-BIT SPECIFIES THAT THE
SOFT-80 SCREEN IS TO BE ENTERED BY DEFAULT WHEN ┴├┼ STARTS UP,
RATHER THAN THE 40-COL SCREEN. ┘OU CAN SWITCH BETWEEN THE TWO
SCREENS BY USING THE "FORTY" AND "EIGHTY" PROGRAMS. ╘HE 32-BIT
SPECIFIES THAT THE ╥┼╒ IS TO BE USED TO ASSIST IN SCROLLING THE
BITMAP SCREEN IF AN ╥┼╒ IS PRESENT. ╘HE COST OF DOING THIS IS 7.5╦
OF ╥┼╒ MEMORY. ╘HE BENEFIT IS THAT THE SCREEN WILL SCROLL SEVERAL
TIMES FASTER THAN IT WILL BY JUST USING THE MAIN PROCESSOR, WHICH
IS USED OTHERWISE.]
$├1 1 ├64 LAST ALLOWED PAGE FREE PLUS ONE (NORM $FF)
[╘HIS GIVES THE TOP PAGE, PLUS ONE, THAT ┴├┼ IS ALLOWED TO USE ON
THE 64. ─ON'T SET THIS LOWER THAN THE TOP OF THE ╘╨┴ AREA.]
$├2 1 ├64 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM $00)
[╠IKE THE ├128 SETTINGS, YOU CAN SET THE USAGE FOR THE ╥┼╒ MEMORY.]
$├3 1 ├64 LAST ╥┼╒ BANK ALLOWED TO USE (NORM $FF)
$├4 1 ├64 EXPANDED INTERNAL MEMORY TYPE
[╬OT CURRENTLY SUPPORTED.]
$├5 1 ├64 END EXPANDED INTERNAL MEMORY BANKS PLUS ONE (NORM $04)
[╘HIS FIELD IS CURRENTLY IGNORED.]
$├6 1 ├64 TOP PAGE OF ╘╨┴ (STACK) (NORM $A3)
[╘OP OF THE ╘╨┴ FOR THE 64. ┘OU CAN SET THIS BETWEEN $61 AND $D0,
BUT BE SURE NOT TO COLLIDE WITH THE STUFF IN HIGH MEMORY (SEE THE
MEMORY MAP EARLIER IN THIS DOCUMENT). ╔ SET THE DEFAULT HERE
LOWER THAN IT NEEDS TO BE SO THAT A STOCK ├64 WITH THE SOFT-80
SCREEN CONFIGURED WILL HAVE ENOUGH MEMORY TO LOAD THE COMMAND
SHELL ONTO THE RAMDISK. ╔F YOU HAVE EXPANDED MEMORY, THEN YOU
SHOULD SET THIS TO $C0 TO GET MAXIMUM APPLICATION PERFORMANCE
(FROM BIGGER DATA BUFFERS).]
$├7 1 ╓IDEO TYPE: ╬╘╙├ (0) OR ╨┴╠ (1) (DEFAULT: 0)
$├8 1 KEY REPEAT DELAY (NORM 20)
[╘HE NUMBER OF JIFFIES BETWEEN WHEN YOU PRESS A KEY THE FIRST TIME
AND WHEN IT STARTS REPEATING.]
$├9 1 KEY REPEAT RATE (NORM 3)
[╘HE NUMBER OF JIFFIES BETWEEN EACH REPEAT OF A KEY WHILE YOU ARE
HOLDING IT DOWN.]
$├┴ 1 CONSOLE COLOR ENABLE DEFAULT (NORM $80)
[╘HIS IS USED TO ENABLE WHAT IS NORMALLY PRINTED ON THE CONSOLE
SCREEN: CHARACTERS, COLORS, AND/OR ATTRIBUTES. ┴LL APPLICATIONS
THAT NEED TO USE COLORS WILL ENABLE AND RESTORE THE CONSOLE
COLORS BY THEMSELVES, SO THERE IS NO NEED TO HAVE THEM ENABLED
ALL THE TIME. ╘HE DEFAULT IS TO HAVE ONLY CHARACTERS ENABLED
(NOT COLORS/ATTRIBUTES) BECAUSE THIS ALLOWS IT TO OPERATE TWICE
AS QUICKLY FOR OPERATIONS LIKE SCROLLING.]
$├┬ 1 INPUT LINE SCROLLBACK BUFFER LINE COUNT (NORM 5)
[╘HE NUMBER OF PREVIOUS LINES TO SAVE SO THAT YOU CAN SCROLL BACK
THROUGH PREVIOUS INPUT LINES IN ORDER TO EDIT THEM. ┼ACH LINE
OF BUFFER SPACE REQUIRES 256 BYTES OF FAR MEMORY TO STORE.
┘OU ═╒╙╘ SPECIFY AT LEAST ONE LINE, OR THE SYSTEM WILL CRASH IN
ALL SORTS OF WEIRD AND WONDERFUL WAYS (THIS IS A BUG, NOT A
FEATURE).]
$├├ 1 CONTROLLER PORT 1 DEVICE
[╬OT CURRENTLY IMPLEMENTED.]
$├─ 1 CONTROLLER PORT 2 DEVICE
[╬OT CURRENTLY IMPLEMENTED.]
$├┼ 1 ├128 ╓─├ MAXIMUM NUMBER OF ROWS TO DISPLAY (NORM 51)
[╘HIS SETTING GIVES THE MAXIMUM NUMBER OF ROWS THAT YOU WANT YOUR
SCREEN TO DISPLAY. ╙OME PROGRAMS WILL ASK FOR THIS MAXIMUM SETTING
(LIKE "EIGHTY 255"). ┘OU SHOULD SET THIS TO THE MAXIMUM NUMBER OF
(INTERLACED) LINES THAT WILL FIT ON YOUR DISPLAY. ╘HE VALUE 51 IS
THE ABSOLUTE MAXIMUM: THE MAXIMUM THAT HARDWARE WILL SUPPORT.]
$├╞ 1 ├128 ╓─├ "CROSSOVER" NUMBER OF DISPLAY ROWS (NORM 28)
[╘HIS SETTING GIVES THE NUMBER OF ╓─├ DISPLAY ROWS WHICH WILL BE THE
LOWEST SETTING THAT WILL BE DISPLAYED IN INTERLACE MODE. ╘HE
INTERLACE CHARACTERS ARE APPROXIMATELY HALF AS HIGH AS THE REGULAR
CHARACTERS, SO YOU WILL BE ABLE TO SEE MORE ON YOUR SCREEN. ╘HE
FACTORY-SET DEFAULT IS PROBABLY GOOD FOR A ╘╓, BUT YOU CAN SEE
WHAT WORKS FOR YOU. ╔ HAVE A 1902A MONITOR, AND ╔ CAN DISPLAY
30 LINES IN REGULAR CHARACTERS (THE MAXIMUM THE HARDWARE ALLOWS),
SO ╔ SET THE "CROSSOVER" VALUE TO 31 FOR MYSELF. ╬OTE: ╔ DON'T
KNOW HOW WELL THESE INTERLACED CHARACTERS WILL WORK ON NON-╬╘╙├
MACHINES, OR ON NON-1902A'S, BUT YOU CAN TRY THEM FOR YOURSELF.
╔F THEY DON'T WORK, THEN YOU CAN JUST SET THIS OPTION TO BE LARGER
THAN THE MAXIMUM NUMBER OF ╓─├ ROWS TO DISPLAY (PREVIOUS OPTION),
AND YOU'LL NEVER HAVE TO LOOK AT INTERLACED CHARACTERS.]
$─0 8 ├64 80-COL COLOR PALETTE
[╞OR THE BITMAPPED HI-RES 80-COL SCREEN, WHICH IS NOT YET
IMPLEMENTED.]
$─8 8 ├64 40-COL COLOR PALETTE
$┼0 1 ╘HE ╥┴═╠INK-╥┴═ PARTITION NUMBER (NORM. 31)
[╙EE THE ─YNAMIC ═EMORY SECTION BELOW.]
$┼1 13 ╙TRING: ╘HE ╥┴═╠INK-╥┴═ PARITION NAME (NORM. "RL-RAM")
$┼┼ 1 ╘HE ╥┴═╠INK-╔NDIRECT-╥┼╒ PARTITION NUMBER (NORM. 30)
$┼╞ 17 ╙TRING: ╥┴═╠INK-╔NDIRECT-╥┼╒ PARTITION NAME (NORM. "INDIRECT-REU")
$100 32 INITIAL/HOME CURRENT DIRECTORY STRING (DEFAULT "A:")
[╔MMEDIATELY AFTER BOOTING AND BEFORE CALLING THE SHELL, THE KERNEL
WILL DO A CHANGE DIRECTORY TO THE NULL-TERMINATED STRING GIVEN
HERE.]
$120 32 ╙TRING: USER-DEFINABLE KEYMATRIX FILE, OR NULL (NORM. "")
$140 64 ╙TRING: DEFAULT EXECUTABLE SEARCH PATH (DEF. "Z:", "A:", ".:")
[╘HE PATHS TO USE TO SEARCH FOR EXECUTABLE PROGRAMS. ┼ACH DIRECTORY
NAME IS A NULL-TERMINATED STRING, AND THE LIST OF PATHS IS
TERMINATED BY AN EMPTY STRING.]
$180 64 ├ONFIGURATION-FILE SEARCH PATH (DEF. "Z:", "A:")
[╬OT CURRENTLY USED.]
$1├0 32 ╘EMPORARY-FILE DIRECTORY NAME (DEF. ".:")
[╘HE DIRECTORY TO USE TO STORE INTERMEDIATE/TEMPORARY FILES.]
$1┼0 32 ╬AME OF CHARACTER SET TO LOAD WHEN BOOTING UP (N."ACECHR-COMMODORE")
$200 - ╙╔┌┼
╘HE OFFSETS FROM $00 TO $7╞ CONTAIN 32 FOUR-BYTE FIELDS, WHICH ARE USED TO
DEFINE THE DEVICES IN THE SYSTEM. ╘HESE FIELDS WILL CORRESPOND TO DEVICE
NAMES "@:", "┴:", "┬:", ..., "┌:", "[:", "\:", "]:", "^:", AND "_:" (FORGIVE
THE NON-LETTER DEVICE NAMES). ╘HE FOUR FIELDS WILL BE DEFINED AS FOLLOWS:
0 DEVICE DRIVER TYPE (0=╦ERNAL NON-DISK, 1=╦ERNAL DISK, 2=CONSOLE, 3=NULL,
4=RAMDISK, 5=USERPORT, 6=SWIFTLINK, 255=EMPTY)
1 DEVICE PRIMARY ADDRESS
(╙WIFT╠INK: ╔/╧ PAGE OF HARDWARE)
2 DEVICE SECONDARY ADDRESS
(╙WIFT╠INK: SIZE OF RECEIVE BUFFER IN PAGES)
3 FLAGS
(╦ERNAL─ISK: $80 FOR A DISK WILL MEANS THAT IT HAS A ├═─ ╥EAL-╘IME CLOCK)
(╒SER╨ORT: $00=USE RAW COMMUNICATION, $80=USE PACKET-ORIENTED COMMUNICATION,
$40=USE ╨┴2 RAW COMM (USE THIS W/╟┼╧CABLE), $├0=USE ╨┴2 PACKET COMM)
(╙WIFT╠INK: BELOW)
╞OR THE SWIFTLINK DEVICE, THE "PRIMARY ADDRESS" FIELD CONTAINS THE ╔/╧ PAGE
OF THE SWIFTLINK CHIP (NORMALLY $DE, BUT YOU CAN USE ANY PAGE YOU WANT).
╘HE "SECONDARD ADDRESS" FIELD SHOULD BE SET TO THE NUMBER OF PAGES THAT YOU
WANT IN YOUR RECEIVE BUFFER. ╘HE FACTORY-SET DEFAULT IS FOR ONE PAGE (256
BYTES). ╘HIS VALUE IS SELECTED TO CONSERVE MEMORY; YOU MAY BE HAPPIER WITH
A VALUE OF 4 (MEANING 1024 BYTES) OR SO. ╘HE MAXIMUM FOR THIS SETTING CAN
BE TO THE POINT AT WHICH THE RECEIVE BUFFER CROSSES THE TRANSIENT-PROGRAM
AREA (ABOUT 12╦ WITH THE STANDARD CONFIGURATION, LESS WITH A SOFT-80 ├64),
AND THE MINIMUM SETTING IS FOR 1 PAGE. ╘HE SIZE OF THIS VALUE DOESN'T
MATTER WHEN YOU ARE USING 115.2KBPS, SINCE A SPECIAL, DEDICATED-PURPOSE,
HIGH-SPEED 256-BYTE BUFFER IS USED THEN.
╘HE "FLAGS" FIELD FOR THE SWIFTLINK SHOULD BE SET AS FOLLOWS. ╘HE 128 BIT
SHOULD BE SET TO "0" IF YOU WANT YOUR MODEM PARAMETERS TO BE "8╬1" OR SET TO
"1" IF YOU WANT "7┼1". ╬O OTHER WORD-LENGTH/PARITY/STOP-BITS SETTINGS ARE
SUPPORTED. ╘HE 64 BIT SHOULD BE SET TO "0" IF YOU HAVE A NORMAL (DOUBLE-
SPEED) CLOCK CRYSTAL (WHAT ├═─ SHIPS) OR SET TO "1" IF YOU HAVE A HACKED
(STANDARD-SPEED) CLOCK CRYSTAL (1.8432 ═╚Z). ┘OU WILL ONLY BE ABLE TO GET
115.2KBPS IF YOU HAVE THIS HACK. ╘HE LOWER FOUR BITS SHOULD BE SET TO
SELECT THE BAUD RATE, ACCORDING TO THE FOLLOWING TABLE. ╘HE FACTORY-SET
DEFAULT IS TO 2400 BAUD WITH 8╬1 AND A NON-HACKED ╙WIFT╠INK ($08).
BITS HEX DEC BAUD
---- --- --- ------
0000 0 0 UNUSED
0001 1 1 50
0010 2 2 110
0011 3 3 134.5
0100 4 4 300
0101 5 5 600
0110 6 6 1200
0111 7 7 1800
1000 8 8 2400
1001 9 9 4800
1010 A 10 7200
1011 B 11 9600
1100 C 12 19.2K
1101 D 13 38.4K
1110 E 14 57.6K (NOT ACTUALLY SUPPORTED)
1111 F 15 115.2K (ONLY AVAILABLE ON A ╞AST ├128 WITH HACKED ╙╠)
╔F YOU DON'T WANT TO WASTE MEMORY ON ╙WIFT╠INK TRANSMIT AND RECEIVE BUFFERS
IN YOUR CONFIGURATION, THEN JUST REMOVE THE DEVICE ENTRY FOR THE SWIFTLINK
(NORMALLY DEVICE SLOT "X:") BY SETTING THE DEVICE TYPE TO 255 (EMPTY). ┘OU
DON'T HAVE TO WORRY ABOUT ANY MEMORY-BLEED PROBLEMS WITH THIS DEVICE, SINCE
┴├┼ WILL TOUCH ITS ╔/╧ REGISTERS AND INTIALIZE THE ╙WIFT╠INK CHIP ONLY IF
YOU OPEN A FILE TO THE DEVICE DRIVER (I.E., USE THE "TERM" PROGRAM).
╘O SPARE YOU THE AGONY OF EDITING THIS BINARY CONFIGURATION MANUALLY, THE
┬┴╙╔├ PROGRAM "CONFIG.EDIT" CAN BE USED INSTEAD. ╥UN IT FROM ┬┴╙╔├, NOT
FROM INSIDE OF ┴├┼. ╔N FACT, YOU SHOULD RUN THIS BEFORE RUNNING ┴├┼ THE
FIRST TIME TO SET UP THE CONFIGURATION.
╘HE PROGRAM PROVIDES A FULL-SCREEN INTERFACE. ═OVE THE CURSOR AMONG THE
FIELDS ON EACH PAGE AND AMONG THE PAGES TO SET THE VALUES. ┴LL VALUES ARE
IN DECIMAL (EXCEPT THE STRINGS). ╘HEN SAVE THE NEW CONFIGURATION, EXIT, AND
RUN ┴├┼. ╔F YOU SCREW UP THE NEW ".ACERC", THE PREVIOUS ONE WILL BE
AVAILABLE IN ".ACERC.BAK".
------------------------------------------------------------------------------
4. ─┘╬┴═╔├ ═┼═╧╥┘
┴FTER YOU HAVE CONFIGURED ┴├┼ FOR YOUR SYSTEM, IF YOU HAVE A ╥┴═╠INK, YOU
WILL HAVE TO CONFIGURE IT FOR ┴├┼ IF YOU WANT TO USE ╥┴═╠INK ╥┴═ OR INDIRECT
╥┼╒ ACCESS. ╘HE WAY THAT ┴├┼ DETECTS THESE TYPES OF MEMORY IS VIA THE
╥╠-─╧╙ PARTITION TABLE. ╞OR ╥┴═╠INK ╥┴═, ┴├┼ WILL CHECK FOR PARTITION
NUMBER 31 BEING A ╞OREIGN ═ODE (─IRECT ┴CCESS) PARTITION WITH THE NAME
"RL-RAM". (┘OU CAN CHANGE THE PARTITION NUMBER/NAME IN THE CONFIGURATION IF
YOU WISH). ╔F IT IS, THEN ┴├┼ WILL GET THE INFORMATION FOR THAT PARTITION
TO DETERMINE THE SIZE AND START ADDRESS (IN ╥╠ MEMORY). ╔T WILL THEN CHECK
THE LIMIT FOR USAGE OF ╥╠-╥┴═ IN THE ".ACERC" FILE, AND ADJUST THE SIZE IT
CAN USE ACCORDINGLY, BEFORE INITIALIZING THE MEMORY. ╘O SET UP THIS
PARTITION ON YOUR ╥┴═╠INK IN THE FIRST PLACE, REFER TO YOUR ╥┴═╠INK
DOCUMENTATION AND USE THE TOOLS PROGRAM PROVIDED WITH IT.
╒SING ╥┼╒ (╥AM ┼XPANSION ╒NIT) MEMORY WITH ┴├┼ IS PRETTY EASY; YOU JUST MAKE
SURE IT IS PLUGGED INTO THE COMPUTER WHEN ┴├┼ IS STARTED. ┴├┼ WILL AUTO-
DETECT THE SIZE OF THE ╥┼╒ AND THEN CHECK THE CONFIGURATION FOR LIMITIATIONS
ON ╥┼╒ USAGE.
╔F YOU HAVE YOUR ╥┼╒ PLUGGED INTO YOUR ╥┴═╠INK IN THE ╥┴═ PORT (RATHER THAN
THE PASS-THROUGH PORT), AND YOU HAVE THE ╬ORMAL/─IRECT SWITCH THROWN TO THE
╬ORMAL POSITION, THEN YOUR MACHINE CANNOT ACCESS ╥┼╒ MEMORY IN THE USUAL
WAY. ╘HE ONLY WAY TO ACCESS IT IS TO GO THROUGH THE ╥┴═╠INK. ┴├┼ WILL LOOK
FOR PARTITION NUMBER 30 BEING ─IRECT ┴CCESS AND NAMED "INDIRECT-REU" FOR
THIS PURPOSE. (┘OU CAN CHANGE THIS PARTITION NUMBER/NAME IN THE
CONFIGURATION). ╔F YOUR ╬ORMAL/─IRECT SWITCH IS IN THE ─IRECT POSITION,
THEN ┴├┼ WILL USE THE ╥┼╒ DIRECTLY AND WILL IGNORE THE "INDIRECT-REU"
PARTITION. ─O NOT CHANGE THE POSITION OF THE ╬ORMAL/─IRECT SWITCH WHILE ┴├┼
IS IN ACTION.
╘HE TRICKY PART HERE IS IN CONFIGURING YOUR ╥┴═╠INK. ┘OU HAVE TO MAKE SURE
THAT THE MEMORY ALLOCATED TO THE "INDIRECT-REU" PARTITON IS THE MEMORY OF
THE ╥┼╒. ╥┴═╠INK MEMORY STARTS FROM $000000 AND GOES UP TO $╞╞╞╞╞╞. ╥┼╒
MEMORY WILL BE AT THE VERY FRONT OF THIS MEMORY (FROM ADDRESS $000000), AND
THE INTERNAL ╥┴═╠INK MEMORY WILL FOLLOW IMMEDIATELY AFTER THIS. ╞OR
EXAMPLE, IF ╔ HAD A 512╦ ╥┼╒ AND AN 8 ═EG ╥┴═╠INK, MY ╥┼╒ MEMORY WOULD COVER
╥╠ ADDRESSES $000000-$07╞╞╞╞, AND MY INTERNAL ╥╠ MEMORY WOULD COVER ╥╠
ADDRESSES $080000-$87╞╞╞╞. ╫HEN PARTITIONING THE DEVICE, PARTITIONS ARE
ASSIGNED MEMORY FROM LOWER ADDRESSES TO HIGHER ADDRESSES. ╙O, STARTING WITH
AN EMPTY ╥╠ (NO PARTITIONS), YOU MUST CREATE THE "INDIRECT-REU" PARTITION
FIRST, FOLLOWED BY ANY ╥╠-─╧╙ PARTITIONS AND THE "RL-RAM" PARTITION. ┘OU
MUST ALSO MAKE SURE THAT THE "INDIRECT-REU" PARTITION IS THE SAME SIZE AS
YOUR ╥┼╒. 512╦ IS 2048 BLOCKS. ┴ NOTE FOR DELETING ╥╠ PARTITIONS: DELETE
THE ONES THAT WERE LAST ALLOCATED FIRST.
┘OU HAVE THE OPTION OF INSTALLING OR NOT INSTALLING EITHER OF THESE
PARTITIONS. ╔F EITHER IS MISSING, ┴├┼ WILL SIMPLY WORK WITHOUT IT. ┘OU'LL
WANT TO BE CAREFUL ABOUT THROWING THE ─IRECT SWITCH IF YOU DON'T HAVE YOUR
╥┼╒ "PROTECTED" WITH AN "INDIRECT-REU" PARTITION. (╫ITH OTHER ╥┼╒
APPLICATIONS ALSO).
╘HE VARIOUS TYPES OF MEMORY GIVE THE FOLLOWING PERFORMANCE UNDER ┴├┼:
TYPE BANDWIDTH LATENCY
------------- --------- -------
╥┼╒ 1,007,641 65.8
╥┼╒ THRU ╥╠ 1,007,641 77.8
╥┴═╠INK 105,792 199.2
╥╠ WITH ╥┼╒ 372,827 319.8
INTERNAL ╥┴═0 120,181 44.2
INTERNAL ╥┴═1 80,283 56.3
╘HE BANDWIDTH IS IN BYTES/SEC AND THE LATENCY IS IN SLOW TICKS
(▐MICROSECONDS). ╘O DETERMINE HOW MUCH TIME IT WILL TAKE TO PERFORM A
SPECIFIC REQUEST, TAKE THE NUMBER OF BYTES YOU WANT TO TRANSFER AND DIVIDE
IT BY THE BANDWIDTH, MULTIPLY THE RESULT BY 1,022,727 (╬╘╙├) AND ADD THE
LATENCY. ╘HIS WILL GIVE YOU THE TRANSFER TIME IN SLOW TICKS.
╞OR THE TYPES: "╥┼╒" IS THE ╥┼╒ BEING ACCESSED DIRECTLY AND "╥┼╒ THRU ╥╠" IS
THE ╥┼╒ BEING ACCESSED THROUGH A ╥┴═╠INK: THE ╥┼╒ MUST BE PLUGGED INTO THE
╥┴═ PORT OF THE ╥╠ AND THE ╬ORMAL/─IRECT SWITCH MUST BE IN ╬ORMAL POSITION
AND THE "INDIRECT-REU" PARTITION MUST BE SET UP. "╥┴═╠INK" IS THE ╥╠
PARTITION "RL-RAM" BEING ACCESSED WITHOUT ╥┼╒ ASSISTANCE AND "╥╠ WITH ╥┼╒"
IS THE ╥╠ PARTITION "RL-RAM" BEING ACCESSED WHEN THE ASSISTANCE OF AN ╥┼╒;
THE ╥┼╒ MUST BE PLUGGED INTO THE ╥┴═ PORT AND THE ╬ORMAL/─IRECT SWITCH CAN
BE IN EITHER POSITION.
╞OR INTERNAL MEMORY, THE 64 HAS ONLY ONE 64╦ INTERNAL BANK, WHEREAS YOUR 128
CAN HAVE EITHER 2, 4, OR 8 (128╦, 256╦, OR 512╦). ╘HE INTERNAL 128 MEMORY
ABOVE 128╦ IS ACCESSED ACCORDING TO THE ARTICLES IN ╘WIN├ITIES-128
═AGAZINE.
╫HEN ┴├┼ STARTS, IT DETERMINES THE SIZE OF INTERNAL AND ╥┼╒ MEMORY BY
WRITING SPECIAL VALUES IN THE SAME LOCATIONS OF EACH BANK AND LOOKING FOR
READBACK FAILURES OR WRAP-AROUNDS. ╚OWEVER, AFTER TESTING A BANK, THE
ORIGINAL CONTENTS OF THE TEST LOCATIONS ARE RESTORED. ╙O, THE TESTING
PROCESS IS COMPLETELY NON-DESTRUCTIVE.
------------------------------------------------------------------------------
5. ─┼╓╔├┼╙
5.1. ├╧══╧─╧╥┼ ├╚┴╥┴├╘┼╥ ─┼╓╔├┼╙
╘HESE ARE REGULAR ├OMMODORE CHARACTER-ORIENTED DEVICES, WHICH REALLY ONLY
INCLUDES THE PRINTER RIGHT NOW. ╘HE STANDARD ╦ERNAL CALLS ARE MADE FOR
ALL ╔/╧. ╘HESE DEVICES WILL BEHAVE THE SAME WAY THEY ALWAYS HAVE.
5.2. ─╔╙╦ ─┼╓╔├┼╙
5.2.1. ├╧══╧─╧╥┼ ─╔╙╦ ─┼╓╔├┼╙
╥EGULAR ├OMMODORE DISK UNITS ARE ACCESSED IN THE SAME WAY AS CHARACTER-
ORIENTED ├OMMODORE DEVICES, EXCEPT THAT DISK DEVICES ALSO SUPPORT SPECIAL
OPERATIONS SUCH AS DIRECTORY LISTINGS. ╘HE STANDARD ╦ERNAL CALLS ARE
USED AND SO ARE THE STANDARD ├OMMODORE-─╧╙ INCANTATIONS FOR OPERATIONS
SUCH AS DELETING (SCRATCHING) A FILE. ┘OU CAN USE THE "DOS" COMMAND OF
THE COMMAND SHELL TO SEND SPECIAL ├OMMODORE-─╧╙ COMMANDS DIRECTLY TO THESE
DEVICES.
5.2.2. ├═─ ─╔╙╦ ─┼╓╔├┼╙
╞OR ├═─ DISK DEVICES, SUPPORT HAS BEEN ADDED TO THE KERNEL TO REQUEST A
"LONG-FORM" DIRECTORY LISTING, INCLUDING THE DATE AND TIME OF LAST
MODIFICATION OF ALL FILES. ╘HIS ALLOWS ┴├┼ TO PASS THIS INFORMATION ONTO
APPLICATION PROGRAMS THAT REQUEST A DIRECTORY LISTING FROM THE ├═─ DEVICE.
╙PECIAL SUPPORT IS ALSO INCLUDED FOR INTERPRETING DIRECTORY AND PATHNAMES.
╘HE REST OF ACCESSING ├═─ DISK DEVICES IS HANDLED EXACTLY THE SAME AS FOR
REGULAR ├OMMODORE DISK DEVICES.
5.2.2. ╥┴═─╔╙╦ ─┼╓╔├┼
╘HE ╥AMDISK, AS CURRENTLY IMPLEMENTED, HAS ONE MAJOR RESTRICTION: FLAT
FILENAMES. ╔.E., SUBDIRECTORIES ARE NOT CURRENTLY SUPPORTED. ╘O MAKE UP
FOR THIS DEFICIENCY, YOU CAN HAVE AS MANY RAMDISKS ACTIVE IN THE SYSTEM AS
YOU LIKE. ╙ETTING A DEVICE TO BE A RAMDISK IN THE SYSTEM CONFIGURATION IS
VERY EASY: JUST CHANGE THE DEVICE TYPE CODE TO THE RAMDISK TYPE (CODE 4).
╫HEN THE SYSTEM INITIALIZES, THE KERNEL WILL SCAN THE DEVICE CONFIGURATION
AND INITIALIZE EVERY RAMDISK THAT YOU SPECIFY. ┼ACH INITIALIZED EMPTY
RAMDISK COSTS 512 BYTES OF FAR MEMORY STORAGE.
┴LL OF THE STANDARD DISK DEVICE OPERATIONS ARE SUPPORTED FOR RAMDISKS,
EXCEPT, OF COURSE FOR "MKDIR" AND "RMDIR", SINCE SUBDIRECTORIES ARE NOT
IMPLEMENTED. ╘HE OPERATIONS INCLUDE: OPEN FOR READ/WRITE/APPEND, READ,
WRITE, BINARY-LOAD (FOR LOADING PROGRAMS), REMOVE, RENAME, DIRECTORY OPEN &
READ, CHANGE DIRECTORY (TO DEVICE), "DEVINFO", AND "ISDIR" (SEE THE
┴├┼-128/64 ╨ROGRAMMER'S ╥EFERENCE ╟UIDE FOR FURTHER DESCRIPTIONS OF THESE
OPERATIONS).
╘HE FACTORY-DEFAULT CONFIGURATION FOR RAMDISKS IS TO HAVE TWO OF THEM:
DEVICES "M:" AND "Z:". ╘HE INTENTION IS THAT YOU WILL USE DEVICE "Z:" FOR
STORING YOUR OFTEN-USED PROGRAMS AND "M:" FOR YOUR GENERAL STORAGE. ┘OU CAN
STORE EXECUTABLES ON A RAMDISK AND THEY WILL LOAD VERY QUICKLY. ╞OR THIS
REASON, THE FACTORY-DEFAULT EXECUTABLE SEARCH PATH IS "Z:,A:", MEANING THAT
DEVICE "Z:" WILL BE CHECKED BEFORE DEVICE "A:".
╘O GET GOOD USE OUT OF THE RAMDISKS, IT IS RECOMMENDED THAT IF YOU HAVE A 64
THEN YOU ALSO HAVE AN ╥┼╒ OR SOME OTHER MEMORY EXPANDER. ╫ITHOUT ANY MEMORY
EXPANSION, IF YOU HAVE DISABLED THE SOFT-80 SCREEN YOU WILL HAVE 16╦ OF FAR
MEMORY FOR STORING RAMDISK DATA AND IF THE SOFT-80 SCREEN IS ENABLED, YOU
WILL ONLY HAVE 6╦. ╫ITH AN ╥┼╒, YOU CAN USE ALL OF THE ╥┼╒ MEMORY FOR A
RAMDISK IF YOU WISH. ╧N AN UNEXPANDED 128 YOU WILL HAVE 70╦ OR SO FOR
RAMDISKS. ╬OTE THAT BECAUSE OF THE "FAR MEMORY" ORGANIZATION OF ┴├┼, THE
FAR MEMORY CAN BE USED TO STORE RAMDISK DATA AND ANY OTHER TYPE OF FAR
MEMORY STORAGE. ═EMORY UTILIZATION IS DYNAMIC SO YOU DON'T HAVE TO RESERVE
LARGE CHUNKS OF FAR MEMORY EXCLUSIVELY FOR A PARTICULAR PURPOSE.
┴S ADVERTISED AT THE TOP OF THIS DOCUMENT, THE RAMDISK DRIVER IS CAPABLE OF
DELIVERING A PEAK READING SPEED OF ABOUT 1 MEGABYTE PER SECOND. ╘HIS IS FOR
READING A BIG FILE THAT WAS WRITTEN TO THE RAMDISK IN LARGE CHUNKS, WHERE
THE FILE IS STORED COMPLETELY IN ╥┼╒ MEMORY. ╞OR A SIMILAR FILE STORED
COMPLETELY IN ╥┴═╠INK MEMORY, THE READING SPEED WILL BE AROUND 56╦/SEC. ╘HE
WRITING SPEED OF FILES WILL BE APPROXIMATELY THE SAME AS FOR READING FILES,
BECAUSE OF THE WAY THE DATA IS ORGANIZED: THE LIMITING FACTOR IS THE DATA
TRANSFER SPEED RATHER THAN SYSTEM OVERHEAD. ╘HE ABOVE FIGURES ARE FOR A
╞AST-MODE ├128. ┘OU SHOULD GET COMPARABLE ╥┼╒ PERFORMACE FROM ╙LOW-MODE OR
A 64 AND ABOUT HALF THE PERFORMANCE IN ╙LOW MODE FROM A ╥┴═╠INK.
╔ DON'T WANT TO GO INTO TOO MANY DETAILS, BUT TO GET SUCH HIGH PERFORMANCE,
THE RAMDISK DRIVER USES VARIABLE-SIZED DISK BLOCKS. ┼ACH BLOCK CAN BE
BETWEEN 256 BYTES AND 64╦ IN SIZE AND INCLUDES 6 BYTES OF CONTROL
INFORMATION. ╫HEN YOU PERFORM A WRITE OPERATION, THE KERNEL WILL WRITE THE
DATA OUT IN THE LARGEST BLOCKS POSSIBLE WITHOUT WASTING SPACE. ╘HIS WAY,
WHEN THE DATA IS READ BACK IN USING A LARGE "READ" OPERATION, VERY LITTLE
CONTROL OVERHEAD IS NEEDED AND THE DATA CAN BE TRANSFERRED TO INTERNAL
MEMORY IN LARGE CHUNKS, AND THE AGGREGRATED PER-BYTE ACCESSING COST IS
MINIMIZED, ALMOST TO THE RAW HARDWARE-ACCESSING SPEED.
╞UTURE EXPANSION POSSIBILITES FOR THIS DEVICE INCLUDE IMPLEMENTING
SUBDIRECTORIES AND IMPLEMENTING NEW TYPES OF MEMORY WHICH RETAIN THEIR
CONTENTS BETWEEN RUNS OF ┴├┼ (BUT NOT POWER INTERRUPTIONS) SO THAT YOU CAN
HAVE A "PERMANENT" RAMDISK SIMILAR TO THE WAY THAT ╥┴═╠INK PARTITIONS WORK.
┴S IT IS NOW, ALL RAMDISKS ARE ERASED WHEN THE SYSTEM STARTS, SO YOU HAVE TO
COPY NECESSARY FILES TO THE RAMDISKS EVERY TIME YOU REBOOT.
5.3. ╙├╥┼┼╬
5.3.1. ╬╧╥═┴╠ ╙├╥┼┼╬╙
╘HE SCREEN HAS A CUSTOM DEVICE DRIVER FOR THE 40-COLUMN (╓╔├) SCREEN OF BOTH
THE ├128 AND ├64 AND THE 80-COLUMN (╓─├) SCREEN OF THE ├128. ╘HE BITMAP-
IMPLEMENTED SOFT-80-COLUMN SCREEN FOR THE 64 IS DESCRIBED IN THE NEXT
SECTION. ┬ECAUSE OF THE WAY THAT THE SYSTEM HAS BEEN DESIGNED, NEW SCREEN
DRIVERS JUST EASILY SLIP INTO PLACE (WELL, MAYBE IT'S NOT QUITE THAT
EASY...).
╘HE CUSTOM SCREEN DRIVER INCLUDES SUPPORT FOR THE BASIC TEXT-OUTPUT
OPERATION, AS WELL AS SPECIAL FULL-SCREEN ACCESSING CALLS TO ALLOW FOR THE
SIMPLIFIED AND STANDARD IMPLEMENTATION OF FULL-SCREEN PROGRAMS, SUCH AS A
TEXT EDITOR. ╙UCH A PROGRAM WOULD BE ABLE TO WORK ON THE 40-COLUMN ├64
SCREEN, THE ╙OFT-80 ├64 SCREEN, AS WELL AS THE 80-COLUMN ├128 SCREEN, WITH
NO MODIFICATION. ╘HE ├OMMODORE ╦ERNAL INCLUDES VERY LITTLE SUPPORT FOR
FULL-SCREEN APPLICATIONS (ONLY NUMEROUS CONTROL CHARACTER CODES).
╞OR THE REGULAR OUTPUT, ONLY THE SCREEN CHARACTERS AND NOT THE COLORS ARE
USED (NORMALLY), WHICH ALLOWS SCROLLING TO BE TWICE AS FAST. ╧UTPUTING
CHARACTERS IS ALSO FASTER BECAUSE FEWER CONTROL CHARACTERS ARE SUPPORTED, NO
TRANSLATIONS BETWEEN ╨┼╘╙├╔╔ AND SCREEN CODES NEEDS TO TAKE PLACE, AND
OPERATIONS ARE OPTIMIZED FOR SPEED (RATHER THAN ╥╧═ SIZE). ╘HE DISPLAY
CHARACTER SET HAS BEEN REARRANGED TO CORRESPOND TO THE ╨┼╘╙├╔╔ CHARACTER
CODES, EXCEPT FOR THE "├OMMODORE" CHARACTERS. ╘HE GRAPHICS CHARACTERS HAVE
BEEN RE-THOUGHT FOR APPLICATIONS. ╘HE SCREEN DRIVER ALSO INCLUDES BASIC
SUPPORT FOR USER-WINDOWS, WHICH WILL BE TAKEN ADVANTAGE OF IN FUTURE
APPLICATIONS.
┴ PRESCROLLING FEATURE HAS BEEN IMPLEMENTED TO CUT DOWN ON THE NUMBER OF
TIMES THE SCREEN HAS TO BE SCROLLED IN DISPLAYING TEXT, TO INCREASE THE
DISPLAY SPEED.
5.3.2. ┬╔╘═┴╨╨┼─ 80-├╧╠╒═╬ ╙├╥┼┼╬ ╞╧╥ ╘╚┼ 64
╘HIS SCREEN IS IMPLEMENTED WITH A ╓╔├ BITMAP AND 4X8-PIXEL CHARACTERS. ╘HE
SCREEN MAPS INTO MEMORY UNDER THE ├OMMODORE ╦ERNAL ╥╧═. ╘HE ATTRIBUTE BITS
OF COLOR VALUES ACT AS BACKGROUND COLOR FOR COLOR CELLS, AND THE COLOR CELLS
COVER TWO CHARACTER SPACES, BECAUSE OF THE ╓╔├ HARDWARE.
┼R, ╔ SHOULD MENTION ABOUT THE CHARACTER SET. ╘HE ONE ╔ HAVE ╔ CAME UP WITH
FOR A ╓╔├-20 40-COL SCREEN PROGRAM A LONG TIME AGO BUT IT MAY NOT BE IDEAL
FOR THE SMALLER PIXELS OF THE 64. ╔ HAVE SELECTED THE DEFAULT SCREEN COLORS
(BLACK ON GRAY) TO DISPLAY THE CHARACTERS CLEARLY. ╔T WORKS BEST IF YOU
TURN THE BRIGHTNESS UP ON YOUR MONITOR, TO CUT DOWN ON THE PIXEL DISTORTION
OF THE 64 DISPLAY. ╔F YOU COME UP WITH A BETTER CHARACTER SET OR SCREEN
COLOR COMBINATION, PLEASE LET ME KNOW. ╘HE FORMAT OF THE CHARACTER SET IS
EXPLAINED IN THE "ACE╬╬-TECH.DOC" DOCUMENT.
5.3.3. ╟╥┴╨╚╔├╙ ╙├╥┼┼╬╙
╘HE KERNEL HAS BEEN EXTENDED TO INCLUDE BASIC SUPPORT FOR 320*200 MONOCHROME
GRAPHICS ON THE 64 AND 640*200 AND 640*491 (64╦ ONLY) USING THE ╓─├ DISPLAY
OF THE 128. ╘HE 320*200 AND 640*491 DISPLAYS HAVE A PIXEL ASPECT OF 1-TO-1
AND THE 640*200 DISPLAY HAS A PIXEL ASPECT RATIO OF 2-TO-1. ╘HE ASPECT
RATIO IS MADE AVAILABLE TO APPLICATION PROGRAMS SO THEY CAN CORRECT IT, IF
THEY SO CHOOSE. ╘HE BASIC SUPPORT THE KERNEL PROVIDES INCLUDES ONLY GETTING
IN AND OUT OF GRAPHICS MODE, FILLING THE SCREEN WITH A GIVEN BYTE VALUE, AND
LOADING THE BYTES OF A DISPLAY LINE. ┴ NUMBER OF EXTENSIONS ARE POSSIBLE,
BUT ╔'D LIKE TO KEEP IT SIMPLE TO KEEP DOWN THE KERNEL SIZE.
5.4. ╦┼┘┬╧┴╥─
┴ CUSTOM KEYBOARD SCANNER HAS BEEN ADDED ALSO. ╔T SUPPORTS A THREE-KEY
ROLLOVER AS DISCUSSED IN ├= ╚ACKING ╬ET ═AGAZINE ╔SSUE #6. ╘HE KEY
MATRICIES WILL BE EXTENDED TO INCLUDE A NUMBER OF STANDARD CONTROL CHARACTERS
FOR THINGS LIKE "PAGE UP," ETC. ╦EY SCANNING HAS BEEN COMPLETELY TAKEN OVER
TO IMPLEMENT THE THREE-KEY ROLLOVER, AND TO AVOID INTERFERENCE WITH THE
JOYSTICK IN PORT #1.
╘HERE ARE A FEW NEW KEYBOARD CONTROLS. ╘O TEMPORARILY PAUSE A LISTING GOING
TO THE SCREEN, PRESS THE ├╧╬╘╥╧╠ KEY. ╧UTPUT WILL RESUME WHEN YOU RELEASE
THE KEY. ╞OR THE ├128, THE ╬╧ ╙├╥╧╠╠ KEY IS SUPPORTED IN THE NORMAL WAY.
╧N THE 64, TO ACHIEVE THE SAME EFFECT, PRESS THE ╥╒╬/╙╘╧╨ KEY WHILE HOLDING
DOWN THE ├╧╬╘╥╧╠ KEY TO PAUSE OUTPUT UNTIL YOU EXPLICITLY RE-ENABLE IT. ╘O
DO THIS, JUST PRESS ╬╧ ╙├╥╧╠╠ (128) OR ├╧╬╘╥╧╠-╙╘╧╨ (64) AGAIN. ╧N THE 128,
THE ├┴╨╙ KEY IS SUPPORTED IN THE NORMAL WAY (WITH ├┴╨╙-╤ FIXED), AND TO
ACTIVATE CAPS LOCK MODE ON THE 64, PRESS ├╧══╧─╧╥┼-╙╘╧╨, AND PRESS IT AGAIN
TO RELEASE CAPS LOCK MODE. ╘HE KEY DELAY AND REPEAT RATES ARE NOT USER-
DEFINABLE RIGHT NOW, BUT THEY WILL BE. ┴LSO, FUNCTION KEYS WILL BE
APPLICATION-DEFINABLE (WHERE THE COMMAND SHELL CAN BE CONSIDERED AN
APPLICATION). ╙OMETHING THAT YOU MAY FIND ODD IS THAT THE CURSOR COLOR CAN
BE DIFFERENT FROM THE CHARACTER COLOR. ─EAL WITH IT.
╞ULL INPUT LINE EDITING IS SUPPORTED. ╠INES MAY BE UP TO 248 CHARACTERS
LONG, INCLUDING THE CARRIAGE RETURN. ┘OU CAN DELETE THE CHARACTER BEFORE
THE CURSOR BY TYPING ─┼╠. ┘OU CAN USE THE CURSOR ╠┼╞╘ AND ╥╔╟╚╘ KEYS TO
MOVE THE CURSOR ON THE CURRENT INPUT LINE AND ANY CHARACTERS YOU TYPE WILL
BE INSERTED BEFORE THE CHARACTER THAT THE CURSOR IS ON. ├╧-╠┼╞╘ AND
├╧-╥╔╟╚╘ (ON THE 128 WITH THE UPPER CURSOR KEYS) MOVE THE CURSOR TO THE
BEGINNING AND END OF THE CURRENT LINE. ├╘-╩ AND ├╘-╦ DO THE SAME THING.
╫HEN YOU WISH TO GENERATE AN ┼╧╞ (END-OF-FILE) SIGNAL FROM THE KEYBOARD,
PRESS ├╧╬╘╥╧╠-─. ╘HIS WILL ONLY WORK ON AN EMPTY LINE; OTHERWISE, YOU WILL
GET THE ├╘-─ CHARACTER.
╔F YOU WISH TO EDIT AND RE-ENTER A PREVIOUS LINE, PRESS THE CURSOR-╒╨ KEY
WHEN THE SYSTEM PROMPTS YOU FOR AN INPUT LINE. ╘HIS WILL RECALL THE
PREVIOUS LINE. ┘OU CAN PRESS CURSOR-╒╨ AND ─╧╫╬ TO SCAN THROUGH ALL OF THE
SCROLL BUFFER LINES YOU HAVE ALLOCATED IN THE CONFIGURATION. ┬UFFERING EACH
LINE WILL COST YOU 256 BYTES OF FAR MEMORY.
╫HEN YOU HAVE SELECTED A PREVIOUS INPUT LINE, YOU CAN EDIT IT OR RE-ENTER IT
JUST LIKE NORMAL. ╘HE INSTANT THAT YOU CHANGE OR ENTER THE LINE, IT BECOMES
THE CURRENT LINE. ╧THERWISE, IF YOU DON'T CHANGE A PREVIOUS LINE, THEN YOU
CAN SCROLL BACK DOWN TO THE CURRENT LINE YOU WERE WORKING ON BEFORE. ╘HIS
IS USEFUL FOR CHECKING SOME ITEM ON A PREVIOUS LINE AND THEN CONTINUING WITH
THE CURRENT LINE. ╫HEN YOU SCROLL BACK TO THE END OF THE HISTORY BUFFER,
THE BELL WILL RING IF YOU TRY TO SCROLL BACK ANY FARTHER. ┬LANK LINES ARE
NOT ENTERED IN THE SCROLLBACK BUFFER. ┴LSO, ALL LINES RATHER THAN JUST THE
COMMAND LINES ARE SAVED (ALTHOUGH ╔ MAY RECONSIDER THIS LATER).
═ANY APPLICATIONS WILL MAKE USE OF A NUMBER OF KEY COMBINATIONS, SO HERE IS
A RECOMMENDED SET OF CONTROL CODES AND HOW THEY SHOULD NORMALLY BE
INTERPRETED BY APPLICATION PROGRAMS. ╬OTE THAT THE KEYS FOR "@" TO "_",
USED IN ASSOCIATION WITH SHIFTING KEYS, ARE
"@┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌[\]^_". "├╘" MEANS ├ONTROL, "╙╚" MEANS ╙HIFT,
"┴╠" MEANS ┴LTERNATE, AND "├╧" MEANS ├OMMODORE. ╧N THE ├64, ┴LTERNATE IS
OBTAINED BY HOLDING DOWN THE ├OMMODORE AND ├ONTROL KEYS SIMULTANEOUSLY, AND
"├╙" BELOW MEANS TO HOLD DOWN THE ├OMMODORE AND ╙HIFT KEYS SIMULTANEOUSLY.
╘HE "├╙" COMBINATION IS USED TO MAKE THE FUNCTIONS OF KEYS ONLY PROVIDED ON
THE ├128'S EXTENDED KEYBOARD AVAILABLE ON THE ├64.
├╧─┼(S) ├128 ╦┼┘(S) ├64 ╦┼┘(S) ─┼╙├╥╔╨╘╔╧╬
------- ------------ ------------ -----------
$5C ┬RITISH╨OUND ┬RITISH╨OUND (\) THE BACKSLASH CHARACTER
$5E ╒P┴RROW ╒P┴RROW (^) THE CARRET CHARACTER
$5F ┬ACK┴RROW ┬ACK┴RROW (_) THE UNDERSCORE CHARACTER
$C0 ╙╚-* ╙╚-* (└) THE BACK-QUOTE CHARACTER
$DB ╙╚-+ ╙╚-+ (█) THE LEFT-CURLY-BRACE CHARACTER
$DC ╙╚-┬RIT╨OUND ╙╚-┬RIT╨OUND (▄) THE VERTICAL-BAR CHARACTER
$DE ╙╚-- (MINUS) ╙╚-- (MINUS) (▌) THE RIGHT-CURLY-BRACE CHARACTER
$DF ╙╚-┬ACK┴RROW ╙╚-┬ACK┴RROW THE HOUSE CHARACTER (─┼╠ IN ┴╙├╔╔)
├╧─┼(S) ├128 ╦┼┘(S) ├64 ╦┼┘(S) ─┼╙├╥╔╨╘╔╧╬
------- ------------ ------------ -----------
$20-$3F ╙╨┴├┼ TO "?" ╙╨┴├┼ TO "?" ╥EGULAR NUMBERS AND PUNCTUATION
$40-$5F "@" TO "_" "@" TO "_" ╥EGULAR LOWERCASE LETTERS
$60-$7F ┴╠-@ TO ┴╠-_ <UNDECIDED> ┴LTERNATE KEYS
$A0-$BF ├╧-@ TO ├╧-_ ├╧-@ TO ├╧-_ ├OMMODORE KEYS
$C0-$DF "└" TO ╚╧╒╙┼ "└" TO ╚╧╒╙┼ ╥EGULAR UPPERCASE LETTERS
$E0-$EF ├╘-@ TO ├╘-_ ├╘-@ TO ├╘-_ ├ONTROL KEYS
├╧─┼(S) ├128 ╦┼┘(S) ├64 ╦┼┘(S) ─┼╙├╥╔╨╘╔╧╬
------- ------------ ------------ -----------
$00 <NONE> <NONE> <CANNOT BE GENERATED-╔ MAY CHANGE THIS>
$01 ├╘-╥┼╘╒╥╬ ├╘-╥┼╘╒╥╬ ┼ND OF FILE
$02 ╙╚-╘┴┬ ├╙-╥ ┬ACKTAB
$03 ╙╘╧╨ ╙╘╧╨ ╙TOP SOME OPERATIONS
$04 ╚┼╠╨ ├╙-╚ ├ONTEXT-SENSITIVE HELP
$05 ├╘-2 ├╘-2 ╫HITE
$06 ╙╚-╠┼╞╘ ├╙-┬ ╫ORD LEFT
$07 ╙╚-╠╔╬┼╞┼┼─ ├╙-╨ ═ENU EXIT
$08 ├╧-─┼╠ ├╧-─┼╠ ╥UBOUT CHARACTER UNDER CURSOR
$09 ╘┴┬ ├╙-╘ ╘AB
$0A ╠╔╬┼╞┼┼─ ├╙-╠ ═ENU
$0B ╙╚-╥╔╟╚╘ ├╙-╬ ╫ORD RIGHT
$0C ├╧-╒╨ ├╙-╫ ╟OTO TOP OF DOCUMENT
$0D ╥┼╘╒╥╬ ╥┼╘╒╥╬ ╥ETURN
$0E ╙╚-┼╙├┴╨┼ ├╙-─ ╫INDOW CONTROL
$0F ├╧-─╧╫╬ ├╙-┌ ╟OTO BOTTOM OF DOCUMENT
$10 ├╧-╠┼╞╘ ├╙-┴ ╟OTO BEGINNING OF LINE
$11 ─╧╫╬ ─╧╫╬ ├URSOR DOWN
$12 ├╘-9 ├╘-9 ╥VS
$13 ╚╧═┼ ╚╧═┼ ╚OME
$14 ─┼╠ ─┼╠ ┬ACKSPACE
$15 ├╧-╥╔╟╚╘ ├╙-╙ ╟OTO END OF LINE
$16 ├╘-╒╨ ├╙-╔ ╨AGE UP
$17 ├╘-─╧╫╬ ├╙-═ ╨AGE DOWN
$18 ├╘-╘┴┬ ├╙-┘ ╘AB SET
$19 ├╘-╠┼╞╘ ├╙-╩ ╨AGE LEFT
$1A ├╘-╥╔╟╚╘ ├╙-╦ ╨AGE RIGHT
$1B ┼╙├┴╨┼ ├╙-┼ ┼SCAPE
$1C ├╘-3 ├╘-3 ╥ED
$1D ╥╔╟╚╘ ╥╔╟╚╘ ├URSOR RIGHT
$1E ├╘-6 ├╘-6 ╟REEN
$1F ├╘-7 ├╘-7 ┬LUE
├╧─┼(S) ├128 ╦┼┘(S) ├64 ╦┼┘(S) ─┼╙├╥╔╨╘╔╧╬
------- ------------ ------------ -----------
$80 ├╘-╞1 ├╘-╞1 ╞UNCTION KEY 9
$81 ├╧-1 ├╧-1 ╧RANGE/╨URPLE(?)
$82 ├╘-╞3 ├╘-╞3 ╞UNCTION KEY 10
$83 ╙╚-╙╘╧╨ ╙╚-╙╘╧╨ ╥UN
$84 ╙╚-╚┼╠╨ ├╙-╟ ├ONTEXT-INSENSITIVE HELP
$85 ╞1 ╞1 ╞UNCTION KEY 1
$86 ╞3 ╞3 ╞UNCTION KEY 3
$87 ╞5 ╞5 ╞UNCTION KEY 5
$88 ╞7 ╞7 ╞UNCTION KEY 7
$89 ╙╚-╞1 ╙╚-╞1 ╞UNCTION KEY 2
$8A ╙╚-╞3 ╙╚-╞3 ╞UNCTION KEY 4
$8B ╙╚-╞5 ╙╚-╞5 ╞UNCTION KEY 6
$8C ╙╚-╞7 ╙╚-╞7 ╞UNCTION KEY 8
$8D ╙╚-╥┼╘╒╥╬ ╙╚-╥┼╘╒╥╬ <UNDECIDED>
$8E ├╘-╞5 ├╘-╞5 ╞UNCTION KEY 11
$8F ├╘-╞7 ├╘-╞7 ╞UNCTION KEY 12
$90 ├╘-1 ├╘-1 ┬LACK
$91 ╒╨ ╒╨ ├URSOR UP
$92 ├╘-0 ├╘-0 ╥VS OFF
$93 ╙╚-╚╧═┼ ╙╚-╚╧═┼ ├LEAR SCREEN
$94 ╙╚-─┼╠┼╘┼ ╙╚-─┼╠┼╘┼ ╔NSERT ONE SPACE
$95 ├╧-2 ├╧-2 ┬ROWN
$96 ├╧-3 ├╧-3 ╠IGHT RED
$97 ├╧-4 ├╧-4 ─ARK GRAY
$98 ├╧-5 ├╧-5 ═EDIUM GRAY/DARK CYAN(?)
$99 ├╧-6 ├╧-6 ╠IGHT GREEN
$9A ├╧-7 ├╧-7 ╠IGHT BLUE
$9B ├╧-8 ├╧-8 ╠IGHT GRAY
$9C ├╘-5 ├╘-5 ═AGENTA
$9D ╠┼╞╘ ╠┼╞╘ ├URSOR LEFT
$9E ├╘-8 ├╘-8 ┘ELLOW
$9F ├╘-4 ├╘-4 ├YAN
╞OR THE ─VORAK KEY MATRIX, THE FOLLOWING COMBINATION OF ─VORAK AND ├OMMODORE
IS USED ON THE BASIC KEYBOARD:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
▄ _ ▄ 1 ▄ 2 ▄ 3 ▄ 4 ▄ 5 ▄ 6 ▄ 7 ▄ 8 ▄ 9 ▄ 0 ▄ + ▄ - ▄ \ ▄HOM▄DEL▄
+---------------------------------------------------------------+
▄CTRL ▄ @ ▄ , ▄ . ▄ ╨ ▄ ┘ ▄ ╞ ▄ ╟ ▄ ├ ▄ ╥ ▄ ╠ ▄ / ▄ * ▄ ^ ▄RESTR▄
+---------------------------------------------------------------+
▄STP▄SHL▄ ┴ ▄ ╧ ▄ ┼ ▄ ╒ ▄ ╔ ▄ ─ ▄ ╚ ▄ ╘ ▄ ╬ ▄ ╙ ▄ ; ▄ = ▄ RETURN▄
+---------------------------------------------------------------+
▄ ├=▄SHIFT▄ : ▄ ╤ ▄ ╩ ▄ ╦ ▄ ╪ ▄ ┬ ▄ ═ ▄ ╫ ▄ ╓ ▄ ┌ ▄SHIFT▄ V ▄-> ▄
+---+-----+---+---+---+---+---+---+---+---+---+---+-----+---+---+
┴LL OF THE KEYS ARE MOVED AS A UNIT, SO SHIFTING A KEY WILL PRODUCE THE SAME
RESULT AS THE CORRESPONDING KEY IN THE STANDARD ├OMMODORE ╤WERTY LAYOUT.
╘HE EXTENDED KEYS REMAIN THE SAME. ╔F YOU WANT TO REDEFINE THE KEY MATRIX
YOURSELF, THEN LOOK IN THE "ACEKEY-DVORAK.S" FOR MORE INFORMATION. ╔T IS AN
┴├┼-ASSEMBLER SOURCE FILE THAT ENCODES THE TRANSLATION TABLES.
5.5 ╒╙┼╥-╨╧╥╘ ╔╬╘┼╥-═┴├╚╔╬┼ ╬┼╘╫╧╥╦ ─┼╓╔├┼
╘HE DEVICE FOLLOWS FROM WHAT WAS OUTLINED IN ISSUE #8 OF ├= ╚ACKING NET
MAGAZINE. ╔T ALLOWS YOU TO SEND BYTES OF DATA FROM ONE COMPUTER TO ANOTHER,
WHICH IS ALL THAT ANY NETWORK, NO MATTER HOW COMPLICATED, ACTUALLY DOES.
╫ITH THIS ABILITY, YOU CAN WRITE ARBITRARILY COMPLEX DISTRIBUTED
APPLICATIONS. ╫ELL, BEFORE WE GET TOO GRAND, THE "NETWORK" IS CURRENTLY
LIMITED TO ONLY CONNECTING TWO COMPTERS TOGETHER. ╚ERE IS HOW THE WIRING
GOES IF YOU WANT TO MAKE YOUR OWN NETWORK CABLE:
╚OST-┴ NAME/PIN PIN/NAME ╚OST-┬
╟╬─ <┴>+------------------------------------+<┴> ╟╬─
╞╠┴╟ <┬>+------------------------------------+<8> ╨├2 ***
╨┬0 <├>+------------------------------------+<├> ╨┬0
╨┬1 <─>+------------------------------------+<─> ╨┬1
╨┬2 <┼>+------------------------------------+<┼> ╨┬2
╨┬3 <╞>+------------------------------------+<╞> ╨┬3
╨┬4 <╚>+------------------------------------+<╚> ╨┬4
╨┬5 <╩>+------------------------------------+<╩> ╨┬5
╨┬6 <╦>+------------------------------------+<╦> ╨┬6
╨┬7 <╠>+------------------------------------+<╠> ╨┬7
╨┴2 <═>+------------------------------------+<═> ╨┴2 (OR USE AS ╨├2)
╟╬─ <╬>+------------------------------------+<╬> ╟╬─
├╬╘2 <6>+------------------------------------+<6> ├╬╘2
╙╨2 <7>+------------------------------------+<7> ╙╨2
╨├2 <8>+------------------------------------+<┬> ╞╠┴╟ ***
╚ERE IS THE ├OMMODORE 128/64 ╒SER ╨ORT WHEN LOOKING AT THE BACK OF THE UNIT:
111
(OTHER) 123456789012 TOP (EDGE OF)
(PORTS) ------------ (MACHINE)
┴┬├─┼╞╚╩╦╠═╬ BOTTOM
┘OU WILL NEED TWO APPROPRIATE CONNECTORS AND SOME 14-CONDUCTOR RIBBON CABLE
TO BUILD THE NETWORK. ╧NE OF MY CONNECTORS IS A 44-CONDUCTOR CONNECTOR OF
THE TYPE USED WITH THE ╓╔├-20 EXPANSION PORT THAT ╔ SAWED IN HALF AND THE
CABLE IS SOME OLD JUNK RIBBON CABLE THAT WAS LYING AROUND THAT ╔ REMOVED
SOME OF THE CONDUCTORS FROM. ┴NY OLD JUNK WILL DO. ┘OU'RE PROBABLY BEST
OFF IF YOUR CABLE IS LESS THAN TWO METRES LONG (SIX FEET).
╘HERE ARE TWO SOFTWARE PROTOCOLS IMPLEMENTED FOR TRANSMITTING BYTES OVER THE
NETWORK: ╥AW AND ╨ACKET. ╘HE ╥AW PROTOCOL JUST SENDS THE RAW BYTES USING
ONLY THE HARDWARE HANDSHAKING. ╘HIS SHOULD BE SUITABLE FOR USE WITH
PARALLEL- PORT PRINTERS. ╘HE ╨ACKET PROTOCOL WRITES THREE BYTES OF HEADER
INFORMATION PLUS THE GIVEN DATA FOR EACH "WRITE" OPERATION TO THE DEVICE.
╘HE HEADER INFORMATION CONSISTS OF THE VALUE $┼6, FOLLOWED BY THE LOW BYTE
OF THE NUMBER OF DATA BYTES TO FOLLOW, FOLLOWED BY THE HIGH BYTE OF THE
COUNT, FOLLOWED BY THE DATA BYTES THEMSELVES. ╘HIS PROTOCOL ALLOWS THE
OTHER END TO KNOW WHAT THE PACKET BOUNDARIES ARE, AND PACKET BOUNDARIES ARE
NEEDED FOR INTERACTIVE INTERPROCESS COMMUNICATION, SUCH AS WITH ╥╨├S (╥EMOTE
╨ROCEDURE ├ALLS). ╘HE IMPLEMENTED PROTOCOL ALSO SENDS A PACKET WITH ZERO
USER-DATA BYTES OUT WHEN YOU USE THE "CLOSE" SYSTEM CALL ON THE USER-PORT
DEVICE, SO THE ╨ACKET PROTOCOL IS ALSO USEFUL FOR TRANSFERRING FILES FROM
ONE MACHINE TO ANOTHER┴.
┬UT, SINCE THE NETWORK IS INHERENTLY HALF-DUPLEX (DATA CAN ONLY FLOW IN ONE
DIRECTION AT A TIME), YOU MUST BE VERY CAREFUL ABOUT COORDINATING THINGS SO
THAT YOU ALWAYS HAVE ONE TRANSMITTER AND ONE RECEIVER WHENEVER YOU ARE
TRANSFERRING DATA. ╔F BOTH HOSTS TRY TO RECEIVE OR BOTH TRY TO TRANSMIT AT
THE SAME TIME, THEY WILL BOTH DEADLOCK FOREVER (OR UNTIL YOU RESET THEM).
┴S AN EXAMPLE, IF YOU WANTED TO TRANSFER A FILE OVER THE NETWORK, YOU
WOULD ENTER THE FOLLOWING ON THE RECEIVING COMPUTER:
CAT U: >FILE
AND THE FOLLOWING ON THE TRANSMITTING COMPUTER:
CAT FILE >U:
╘HE DEVICE OPERATES MUCH LIKE A ╒NIX "PIPE". ┘OU CAN ALSO USE THE "CP" OR
"BCODE" OR WHATEVER AND YOU THE ORDER IN WHICH YOU START THE TRANSMITTER/
RECEIVER DOESN'T MATTER. ╘HE PACKET SIZE ON THE NETWORK IS VARIABLE AND IS
DEFINED BY THE SIZE OF WRITE CALL THAT THE TRANSMITTER PERFORMS A WRITE
OPERATION.
╞LOW-CONTROL HANDSHAKING IS PERFORMED FOR EACH BYTE SENT, SO THE WRITER WILL
BE DELAYED IN THE WRITE SYSTEM CALL UNTIL THE RECEIVER HAS RECEIVED EVERY
LAST BYTE OF THE PACKET BY PERFORMING APPROPRIATE READ OPERATIONS. ╘HIS
MEANS THAT THE WRITER WILL OPERATE SYNCHRONOUSLY WITH THE READER IF THE
RECEIVE BUFFER (READ SIZE) IS SMALLER THAN THE TRANSMIT BUFFER (WRITE SIZE)
AND THAT THE WRITER WILL OPERATE ASYNCHRONOUSLY (*CONCURRENTLY*) WITH THE
RECEIVER IF THE RECEIVE BUFFER IS LARGER THAN OR EQUAL IN SIZE TO THE
TRANSMIT BUFFER. ├ONCURRENCY IS GOOD. ┴LSO, READS WILL SOMETIMES RETURN
"SHORT BLOCKS", BLOCKS WITH FEWER BYTES THAN THE READ REQUEST SPECIFIED.
╘HIS IS TO ALLOW THE DEVICE TO BE TRULY PACKET-ORIENTED, WHICH CAN ALLOW
CLIENT/SERVER-TYPE INTERACTIONS OVER THE HALF-DUPLEX COMMUNICATION LINE.
╘HE MAXIMUM TRANSFER RATE IS CURRENTLY AROUND 40╦/SEC. ╘HE MAXIMUM RATE
POSSIBLE, IF SOFTWARE WERE AS EFFICIENT AS POSSIBLE, WOULD BE ABOUT 80╦/SEC
WITH TWO ╞AST-MODE ├128S.
5.6. ╙╫╔╞╘╠╔╬╦-232 ─┼╓╔├┼
╘HIS DEVICE DRIVER SUPPORTS ├REATIVE ═ICRO ─ESIGN'S ╙WIFT╠INK-232 CARTRIDGE,
WHICH IS BASED ON THE 6551 ┴├╔┴ CHIP. ╘HE WAY TO CONFIGURE THE OPERATION OF
THIS DEVICE (RECEIVE-BUFFER SIZE, BAUD RATE, WORD-LENGTH/PARITY/STOP-BITS)
WAS DISCUSSED IN THE ╙YSTEM ├ONFIGURATION SECTION. ├URRENTLY, THE DEVICE
WILL WORK ONLY FROM ╔/╧ SLOT $─┼00, AND ╔ DON'T REALLY HAVE ANY PLANS TO
CHANGE THIS, SINCE IT WOULD BE A PAIN TO DO, UNLESS THERE IS OVERWHELMING
DEMAND.
╚ERE ARE A COUPLE OF NOTES ABOUT THE DEVICE DRIVER. ╔T WILL OPERATE
FLAWLESSLY AT 38,400 BAUD ON BOTH THE ├128 AND ├64. ┴T THIS SPEED, THE
MACHINE WILL HAVE TO PROCESS 3840 INTERRUPTS PER SECOND, WHICH MEANS THAT IT
HAS ONLY 266 SLOW TICKS (╬╘╙├) PER CHARACTER RECEIVED. ╘HE DEVICE DRIVER
ALSO IMPLEMENTS HARDWARE FLOW CONTROL OUT OF PRACTICAL NECESSITY. ╔F YOU
ARE OPERATING AT 38,400 BAUD, THEN IT IS LIKELY THAT (A) WHATEVER YOU'RE
CONNECTED TO SUPPORTS HARDWARE FLOW CONTROL (╚╞├), AND (B) THAT YOUR
APPLICATION WON'T BE ABLE TO KEEP UP ALL OF THE TIME. ╘HE ╚╞├ WORKS
FLAWLESSLY AS FAR AS ╔ HAVE TESTED. ┬ECAUSE OF THE IMMEDIACY OF ╚╞├, THE
DEVICE WILL ASSERT ╚╞├ WHEN THERE ARE FEWER THAN 8 BYTES FREE IN THE RECEIVE
BUFFER (A SMALL LIMIT) AND WILL RELEASE IT WHERE THERE ARE 16 OR MORE BYTES
FREE IN THE RECEIVE BUFFER.
┴N UNFORTUNATE HARDWARE RESTRICTION OF THE 6551 ┴├╔┴ IS THAT IT CANNOT
TRANSMIT DATA WHILE THE ╚╞├ IS ASSERTED. ╘HIS MAKES CONTROLLING TRANSMIT
DATA MORE COMPLICATED BUT ALSO MAKES IT SO THAT THE ╥╘╙/├╘╙ SIGNALS
SIMULTANEOUSLY WORK ACCORDING TO THEIR STANDARD DEFINITIONS AND ALSO TO
THEIR NEWER FLOW-CONTROL DEFINITIONS. ╘HIS IS OKAY, SINCE NEWER HIGH-SPEED
MODEMS USUALLY INTERPRET THESE SIGNALS IN THE FLOW-CONTROL WAY AND OLDER
MODEMS ARE LIKELY TO OPERATE AT A BAUD RATE WHERE FLOW CONTROL IS NOT
NEEDED. ╬OTE THAT IF FLOW CONTROL IS IGNORED BY YOUR MODEM AND THE RECEIVE
BUFFER OVERFLOWS, THEN YOU ╫╔╠╠ LOSE CHARACTERS. ╘HE ╙╠ DRIVER COLLECTS
STATISTICS ABOUT THIS (NUMBER OF HARDWARE OVERRUNS, NUMBER OF
SOFTWARE-BUFFER OVERFLOWS, NUMBER OF BYTES SENT, NUMBER OF BYTES RECEIVED).
╘HE ╙WIFT╠INK DRIVER DOES NOT USE TRANSMIT INTERRUPTS. ╘HIS IS BECAUSE
HAVING BOTH TYPES OF INTERRUPTS IS AN UGLY PROBLEM AND MAY BE TOO MUCH FOR
THE PROCESSOR TO KEEP UP WITH. ╔NSTEAD, THE ╙╠ DRIVER USES POLLED
TRANSMISSION. ╔N THE CONTEXT OF A TERMINAL PROGRAM, THIS IS NORMALLY NO
REAL PROBLEM, SINCE NORMALLY ONLY ONE OR A FEW BYTES ARE TRANSMITTED AT A
TIME (WITH EACH KEYSTROKE). ╔N THE EVENT THAT ╚╞├ IS ASSERTED WHEN THE
DRIVER GOES TO TRANSMIT A BYTE, IT WILL PUT THE BYTE INTO THE TRANSMIT
BUFFER AND RETURN WITHOUT TRANSMITTING THE BYTE. ╘HIS IS BECAUSE THE SYSTEM
WOULD DEADLOCK IF IT WAITED FOR A TRANSMIT-READY SIGNAL, SINCE IT WILL NEVER
GET ONE AS LONG AS ╚╞├ IS ASSERTED. ├ONTROL IS RETURNED TO THE USER PROGRAM
TO CLEAR OUT THE RECEIVE BUFFER SO THAT ╚╞├ CAN BE RELEASED AND BYTES CAN BE
TRANSMITTED. ╫HEN ╚╞├ IS RELEASED BY A "READ" SYSTEM CALL, THE ╙╠ DRIVER
WILL TRANSMIT ALL BUFFERED TRANSMIT CHARACTERS IN A POLLING LOOP BEFORE
RETURNING. ├URRENTLY, IF THE TRANSMIT BUFFER OVERFLOWS, THE OVERFLOW
CHARACTERS ARE SIMPLY DROPPED. ╔N THE FUTURE, THE "WRITE" CALL WILL RETURN
WITH AN ERROR WITH INFORMATION ABOUT HOW MANY CHARACTERS WERE SUCCESSFULLY
BUFFERED FOR FUTURE TRANSMISSION, SO THAT IT CAN RECOVER ON ITS OWN.
╘HE DEVICE-DRIVER CODE IS FAIRLY COMPLICATED BECAUSE OF ALL THE HARDWARE
RESTRICTIONS AND RACE-CONDITION HANDLING IN THE CODE.
5.7. ╙═┴╥╘_╫┴╘├╚ ─┼╓╔├┼
╘HE "CONFIG" PROGRAM WILL ATTEMPT TO READ THE CURRENT TIME FROM THE
╙MART╫ATCH DEVICE YOU HAVE PLUGGED INTO PORT #1 IF YOU SET A "TIME-DEVICE"
FIELD IN THE SYSTEM CONFIGURATION TO THE SPECIAL VALUE OF 254. ╘HE CODE WAS
DONATED BY ╥ANDY ╫EEMS <╥ED ╚ERRING ├ORP.> (RWEEMS@EDGE.ERCNET.COM) AND HAS
BEEN INTEGRATED INTO THE CONFIGURATION PROGRAM. ╥ANDY SAYS:
╔F YOU'RE WONDERING WHAT A ╙MART╫ATCH IS...IT'S A COOL LITTLE PASS-THROUGH
SOCKET ORIGINALLY DESIGNED FOR ╨├S ╔ THINK (AND ┴PPLES) THAT GIVES YOU A
BATTERY BACKED CLOCK IN A TRANSPARENT MANNER. ┘OU REMOVE A ╥╧═, PLUG THE
╙MART╫ATCH INTO THE ╥╧═'S SOCKET AND PLUG THE ╥╧═ INTO THE ╙MART╫ATCH
SOCKET. ╔F YOU HAVE A DRIVER THAT READS FROM THE ╥╧═ IN JUST THE RIGHT
SEQUENCE, THE ╙MART╫ATCH KICKS IN AND SENDS THE DATE/TIME ONE BIT AT A
TIME. ╧F COURSE, THERE'S ALWAYS THE POSSIBILITY THAT THE ╥╧═ COULD
ACCIDENTALLY BE READ IN THE SEQUENCE THAT TRIGGERS THE ╙MART╫ATCH, BUT IT'S
EXTREMELY UNLIKELY.
┴NYWAY, ╔ NEVER COULD GET IT TO WORK "PROPERLY" ON MY 128─ (BY PLUGGING IT
INTO A ╥╧═'S SOCKET), BUT ╔ FOUND PLANS FOR HOOKING IT UP TO JOYSTICK PORT 1
AND DRIVERS FOR ╟┼╧╙. ╔T DOESN'T INTERFERE WITH THE JOYSTICK PORT OR
KEYBOARD AT ALL.
------------------------------------------------------------------------------
6. ├╧══┴╬─╙
╘HE FOLLOWING SUBSECTIONS GIVE THE LOW DOWN ON ALL OF THE EXECUTABLE PROGRAMS
PROVIDED WITH ┴├┼, INCLUDING THE SYSTEM PROGRAMS AND EXTERNAL USER PROGRAMS.
╞OR EACH COMMAND, A SYNOPSIS IS GIVEN, FOLLOWED BY THE DESCRIPTION.
6.1. ┬╒╔╠╘-╔╬ ├╧══┴╬─╙
╘HESE COMMANDS ARE BUILT RIGHT INTO THE COMMAND SHELL.
--------
ECHO [ARG ...]
╨RINT THE GIVEN ARGUMENTS TO STDOUT, WITH A SPACE BETWEEN EACH AND A CARRIAGE
RETURN AT THE END OF THE LINE.
--------
CLEAR
CLS
├LEAR THE SCREEN. "CLS" IS THE ═╙-─╧╙ NAME AND "CLEAR" IS THE ╒NIX NAME.
╘HIS COMMAND SIMPLY EMITS A "FORM-FEED" CHARACTER TO STDOUT.
--------
LS [-HELP] [-L] [-C] [-F] [DIRNAME ...]
DIR [-HELP] [-L] [-C] [-F] [DIRNAME ...]
D [-HELP] [-L] [-C] [-F] [DIRNAME ...]
CLSL [-HELP] [-L] [-C] [-F] [DIRNAME ...]
─ISPLAY A DIRECTORY LISTING OF THE GIVEN DIRECTORY OR OF THE CURRENT
DIRECTORY IF NO "DIRNAME" IS GIVEN. ╘HIS COMMAND HAS SO MANY VARIANTS
BECAUSE IT IS SO USEFUL. "DIR" CLEARS THE SCREEN BEFORE GIVING A LONG-FORM
DIRECTORY LISTING. "D" GIVES A LONG-FORM DIRECTORY LISTING WITHOUT CLEARING
THE SCREEN. "LS" GIVES A SHORT-FORM DIRECTORY LISTING WITHOUT CLEARING THE
SCREEN, AND "CLSL" GIVES A SHORT-FORM LISTING AFTER CLEARING THE SCREEN.
╙HORT-FORM LISTINGS INCLUDE ONLY THE FILENAMES OF THE FILES IN THE
DIRECTORY, WHEREAS LONG-FORM LISTINGS INCLUDE DIRECTORY NAME, FILE
PERMISSIONS, DATE AND TIME OF LAST MODIFICATION, LENGTH (IN BLOCKS*254
BYTES), FILE TYPE, AND FILENAME. ╧N 40-COL DISPLAYS, THE DATE AND TIME
FIELDS ARE OMITTED.
╘HE "-HELP" FLAG WILL MAKE THE COMMAND PRINTS ITS USAGE INFORMATION, "-L"
WILL REQUEST A LONG-FORM LISTING, "-C" WILL REQUEST THAT THE SCREEN BE
CLEARED FIRST BEFORE SHOWING THE LISTING, AND THE "-F" FLAG WILL REQUEST
THAT THE NUMBER OF FILES AND THE TOTAL SIZE IN BYTES OF ALL THE FILES BE
DISPLAYED IN ADDITION TO THE NUMBER OF BYTES FREE ON THE DEVICE FOR A
LONG-FORM LISTING (NOTE THAT ONLY FILES ARE INCLUDED IN THE COUNT AND BYTES
DATA; DIRECTORIES ARE NOT).
--------
CD [DIRNAME]
├HANGE THE CURRENT WORKING DEVICE AND DIRECTORY TO THE GIVEN DIRECTORY NAME.
╔F NO DIRECTORY NAME IS GIVEN, CHANGE TO THE "HOME" (INITIAL) DIRECTORY.
--------
CAT [FILE ...]
─ISPLAY THE CONTENTS OF THE NAMED FILES TO STDOUT. ╔F NO FILES ARE NAMED,
THEN INPUT IS TAKEN FROM STDIN (NORMALLY THE KEYBOARD).
--------
EXIT
X
┼XIT FROM THE COMMAND SHELL. ┼╧╞ ON STDIN (NORMALLY ├ONTROL-─ FROM THE
KEYBOARD) HAS THE SAME EFFECT. ╔F THE CURRENT COMMAND SHELL IS THE INITIAL
ONE STARTED BY THE SYSTEM (PROCESS #2), THEN ┴├┼ WILL EXIT BACK TO ┬┴╙╔├.
╧THERWISE, THE COMMAND SHELL WILL EXIT BACK TO THE PROGRAM THAT INVOKED IT.
--------
DOS COMMAND
@ COMMAND
╟IVE A ├OMMODORE-─╧╙ COMMAND TO THE CURRENT DEVICE (╧╨┼╬1,DV,15..). ┬OTH
"DOS" AND "@" ARE EXACTLY SYNONYMOUS.
--------
PATH
PATH DIRNAME ...
─ISPLAY OR SET THE PATH TO SEARCH FOR SEARCHING FOR EXTERNAL PROGRAMS.
"PATH" ALONE ON A COMMAND LINE DISPLAYS THE CURRENT SEARCH PATH, AND "PATH"
FOLLOWED BY ARGUMENTS WILL SET THE SEARCH PATH TO THE FOLLOWING ARGUMENTS.
--------
SH [-VI] [SCRIPTNAME]
╔NVOKE A SUB-SHELL. ├URRENTLY, THIS IS ACTUALLY AN EXTERNAL-COMMAND CALL.
╔F THE "-V" FLAG (VERSION/VERBOSE) IS USED, THEN THE VERSION "BANNER" IS
PRINTED WHEN THE SHELL STARTS, AND "-I" (INITIALIZE) WILL CAUSE THE NEW
SHELL TO EXECUTE THE ".ASHRC" SHELL SCRIPT BEFORE ACCEPTING COMMANDS FROM
ITS REGULAR INPUT FILE.
╔F THE "SCRIPTNAME" ARGUMENT IS SUPPLIED, THEN INPUT IS TAKEN FROM THE NAMED
FILE; OTHERWISE, INPUT COMMANDS ARE TAKEN FROM STDIN.
------------------------------------------------------------------------------
6.2. ╙┘╙╘┼═ ╨╥╧╟╥┴═╙
ACE
╘HIS IS THE MAIN LOADER. ╔T DETERMINES WHETHER IT IS RUNNING ON A 128 OR A
64 AND THEN LOADS AND RUNS EITHER "ACE128" OR "ACE64" BELOW.
--------
ACE128
ACE64
╘HESE ARE THE KERNEL PROGRAMS.
--------
CONFIG
╘HE SYSTEM CONFIGURATION PROGRAM. ╘HIS IS NOT A USER-EXECUTABLE PROGRAM; IT
IS LOADED AND EXECUTED WHILE THE SYSTEM IS BOOTSTRAPPING. ╘HIS PROGRAM
LOADS THE ".ACERC", "ACE-CHARSET", AND "ACE-CHARSET-4BIT" FILES, INITIALIZES
THE DYNAMICALLY ALLOCATED MEMORY, AND SETS THE DATE.
--------
CONFIG.EDIT
╘HE CONFIGURATION EDITOR WRITTEN IN ┬┴╙╔├. ╠╧┴─ AND ╥╒╬ IT DIRECTLY FROM
┬┴╙╔├. ╞ULL-SCREEN INTERFACE. ╙AME PROGRAM RUNS ON EITHER A 128 OR 64.
------------------------------------------------------------------------------
6.3. ┼╪╘┼╥╬┴╠ ╨╥╧╟╥┴═╙
CP [-F] FILE DESTFILE
CP [-F] FILE ... DIRECTORY
┴ FILE COPIER. ╧PERATES LIKE THE ╒NIX FILE-COPIER PROGRAM. ╔F YOU GIVE TWO
FILENAMES, WILL COPY THE FIRST FILE TO THE SECOND NAME. ╔F A NUMBER OF FILE
NAMES ARE GIVEN AND THE LAST ARGUMENT IS A DIRECTORY NAME IS GIVEN, WILL
COPY ALL OF THE FILES, RETAINING THEIR NAMES, INTO THE GIVEN DIRECTORY.
╔F A FILE THAT YOU WANT TO COPY TO ALREADY EXISTS, THEN YOU WILL BE PROMPTED
FOR WHETHER YOU WANT TO OVERWRITE THE FILE: YES, NO, ALL, OR QUIT.
┴NSWERING ┘ES WILL OVERWRITE THE FILE, AND CONTINUE ONTO THE NEXT FILE.
┴NSWERING ╬O WILL ABORT COPYING THE CURRENT FILE AND CONTINUE ONTO THE NEXT
FILE. ┴NSWERING ┴LL WILL HAVE THE SAME ACTION AS ┘ES, EXCEPT THAT IT WILL
NEVER ASK YOUR PERMISSION AGAIN; IT WILL ALWAYS ASSUME ┘ES. ┴NSWERING ╤UIT
WILL ABORT THE ENTIRE COPY OPERATION WITHOUT DISTURBING ANY MORE FILES.
╔F, ON THE OTHER HAND, YOU USE THE "-F" OPTION (FORCE), THEN THE COMMAND
WILL OVERWRITE EXISTING FILES WITHOUT PESTERING YOU FOR PERMISSION. ╧R, IF
THE STDIN FILE STREAM IS NOT CONNECTED TO THE CONSOLE, THEN THE "FORCE"
OPTION WILL BE PRESUMED. ╔ WOULD REALLY LIKE TO GET A "-R" (RECURSIVE)
OPTION WORKING. ═AYBE IN AN "XCP" VARIANT.
--------
RM FILE ...
╞ILE REMOVER (SCRATCHER). ┴LL NAMED FILES WILL BE DELETED.
--------
MV OLDFILE1 NEWFILE1 ... OLDFILE╬ NEWFILE╬
╞ILE RENAMER. ╞OR EACH PAIR OF NAMES, THE OLD NAME WILL BE CHANGED TO THE
NEW NAME. ╔F THE NEW NAME ALREADY EXISTS, THEN THE PROGRAM WILL REPORT AN
ERROR. ╘HIS USES THE CRUFTY ├OMMODORE RENAME ─╧╙ COMMAND, SO DON'T EVEN
THINK ABOUT RENAMING A FILE THAT IS NOT IN THE CURRENT DIRECTORY OR "MOVING"
A FILE BETWEEN DIRECTORIES.
--------
MKDIR FLAT─IR╬AME
├REATE A NEW SUBDIRECTORY IN THE CURRENT DIRECTORY. ╘HE GIVEN NAME MUST BE
"FLAT", I.E., IT IS JUST THE NAME LIKE "DIRNAME", WITHOUT ANY "/"S OR ":"S.
--------
RMDIR FLAT─IR╬AME
╥EMOVE AN EXISTING EMPTY SUBDIRECTORY IN THE CURRENT DIRECTORY.
--------
WC FILE ...
╫ORD COUNTER. ├OUNTS THE LINES, WORDS, AND CHARACTERS IN A FILE. ╘O COUNT
LINES, THE PROGRAM SIMPLY COUNTS CARRIAGE RETURNS (CODE 13 DECIMAL). ┴ WORD
IS ANY NON-WHITESPACE CHARACTER(S) BETWEEN WHITESPACE CHARACTERS.
╫HITESPACE IS DEFINED AS THE CHARACTERS ╙╨┴├┼, ╘┴┬, AND ╥┼╘╒╥╬ (CODES 32, 9,
AND 13 DECIMAL, RESPECTIVELY). ╔F MULTIPLE FILES ARE SPECIFIED, TOTALS WILL
BE REPORTED.
--------
GREP [-[I][V]] [^]SUBSTR[$] FILE ...
╘HE "I" AND "V" FLAGS ARE OPTIONAL. "I" MEANS TO IGNORE THE CASE OF LETTERS
IN COMPARISONS AND THE "V" MEANS TO INVERT THE SEARCH - DISPLAY LINES THAT
DO NOT MATCH THE PATTERN.
╘HE SUBSTRING MAY BEGIN WITH "^" WHICH MEANS ONLY TO CHECK FOR THE STRING
AT THE BEGINNING OF A LINE, AND MAY END WITH "$" WHICH MEANS ONLY TO CHECK
FOR THE STRING AT THE END OF A LINE. ┬OTH "^" AND "$" MAY BE USED AT THE
SAME TIME. ╘HERE IS NO ESCAPE CHARACTER, SO YOU'LL HAVE PROBLEMS TRYING TO
SEACH FOR THE TWO ANCHOR CHARACTERS IN THE FILES.
╧NE OR MORE FILES MAY BE SPECIFIED TO BE SEARCHED. ╔F MORE THAN ONE FILE,
THEN THE NAME OF THE FILE WILL PRECEED EACH LINE PRINTED THAT MATCHES.
╧UTPUT GOES TO STDOUT. ╙OME EXAMPLES FOLLOW:
GREP HELLO HELLO_WORLD.C
GREP -V '^$' FILE1 >FILE1.NOBLANK
GREP -I CR┴I╟ ╚ACK*
GREP -IV 'THE$' FILE2
╘HE FIRST EXAMPLE SIMPLY SEARCHES FOR THE STRING "HELLO". ╘HE SECOND EXAMPLE
REMOVES ALL BLANK LINES FROM THE INPUT FILE. ╘HE THIRD EXAMPLE SEARCHES THE
╚ACK1, ╚ACK2, ╚ACK3, ╚ACK4, AND ╚ACK5 FILES (FOR EXAMPLE) FOR THE WORD "CRAIG"
WHICH CAN BE IN ANY CASE (EG. "├RAIG" WOULD MATCH). ╘HE FOURTH EXAMPLE
DISPLAYS ALL LINES THAT DO NOT END WITH THE WORD "THE" IN ANY CASE (EG. THE
SECOND LINE OF THIS PARAGRAPH WOULD BE OMITTED).
╙OME LIMITATIONS OF THE PROGRAM ARE: ONLY THE FIRST 2048 CHARACTERS OF A
(REALLY LONG) LINE WILL BE CONSIDERED, LINES MAY NOT CONTAIN THE CHARACTER
CODE $00, AND THE LAST LINE OF THE FILE MUST END WITH A ╥┼╘╒╥╬ (OR IT WILL BE
IGNORED).
--------
TR [-I] [-FROMSET2TOSET] FILE ...
╘RANSLATE FILES FROM ONE CHARACTER SET TO ANOTHER. ├HARACTER SETS SUPPORTED
ARE: ╨ETSCII, ┴SCII-├R╠F (═╙-─╧╙), ┴SCII-╠F (╒NIX), ┴SCII-├R, AND
╙PEED╙CRIPT. "FROMSET" AND "TOSET" IN THE SYNOPSIS ABOVE MAY BE ANY OF: "P"
(╨ETSCII), "A" (┴SCII-├R╠F), "AL" (┴SCII-╠F), "AC" (┴SCII-├R), "S"
(╙PEED╙CRIPT), "C" (├OMMODORE == ╨ETSCII), "U" (╒NIX == ┴SCII-╠F), OR "M"
(═╙-─╧╙ == ┴SCII-├R╠F).
╘HE THE CHARACTER SET SPECIFIERS ARE SEPARATED BY THE CHARACTER "2" (MEANING
"TRANSLATE TO"). ╔F THE TRANSLATION SPECIFICATION ARGUMENT IS MISSING, THE
DEFAULT OF TRANSLATING FROM ┴SCII-├R╠F TO ╨ETSCII IS USED. ╔NPUT IS TAKEN
FROM THE FILES AND ALL OUTPUT GOES TO STDOUT IN ORDER.
┼XAMPLE:
TR -S2U FILE1 >FILE1.UNIX
╘RANSLATE FROM ╙PEED╙CRIPT FORMAT TO ┴SCII-╠F (╒NIX) FORMAT THE CONTENTS OF
"FILE1" AND PUT INTO FILE "FILE1.UNIX".
╘HE NAME "TR" IS USED (A ╒NIX UTILITY) BECAUSE THE FUNCTIONALITY OF THIS
PROGRAM WILL GROW TO INCLUDE THAT OF THE ╒NIX "TR" UTILITIY.
╘HE "-I" OPTION MEANS TO DO AN "IN-PLACE" TRANSLATION. ╔.E., THE ORIGINAL
FILE WILL BE OVERWRITTEN WITH THE TRANSLATED DATA. ╘O ACHIEVE THIS, A
TEMPORARY FILE IS CREATED IN THE TEMPORARY DIRECTORY THAT IS THE SIZE OF
THE FINAL FILE, AND THEN REMOVED. ═AKE SURE THAT YOUR TEMPORARY DIRECTORY
WILL HAVE ENOUGH SPACE TO DO THE TRANSLATIONS.
--------
SORT [-[I][V]] [+COLUMN] FILE ...
╙ORT UTILITY. ├URRENTLY USES A SUCKED-OUT INSERTION SORT ALGORITHM. ╫ILL
BE EXTENDED TO USE THE "┴PPROXIMATION ╙ORT" ALGORITHM, WHICH HAS BETWEEN
╧(╬) AND ╧(╬^2) PERFORMANCE (CLOSE TO ╧(╬) FOR RANDOM DATA). ═AKES USE OF
DYNAMICALLY ALLOCATED MEMORY TO STORE LARGE FILES INTERNALLY.
╘HE "I" AND "V" FLAGS ARE OPTIONAL. "I" MEANS TO IGNORE CASE OF LETTER
CHARACTERS IN COMPARISONS TO DETERMINE ORDER. ╘HE "V" FLAG MEANS TO INVERSE
THE ORDER OF SORTING (PUT INTO DESCENDING ORDER RATHER THEN THE USUAL
ASCENDING ORDER). ╘HE +COL FIELD IS OPTIONAL, AND IF PRESENT, GIVES THE
CHARACTER POSITION OF THE START OF THE SORTING KEY. ╘HE DEFAULT STARTING
POSITION IS 1 (THE BEGINNING OF THE LINE). ┴ ╘┴┬ CHARACTER WILL BE
INTERPRETED AS ANY OTHER CHARACTER.
╔F MULTIPLE FILES ARE SPECIFIED, THEY WILL ALL BE MERGED TOGETHER AND THEN
SORTED AS A GROUP. ╙ORTED OUTPUT GOES TO STDOUT. ╔F THE PROGRAM DIES IN
THE MIDDLE OF ITS OPERATION (EG. OUT OF MEMORY), ALL FILES OWNED BY THE
PROGRAM (PROCESS) WILL BE CLOSED AND ALL MEMORY ALLOCATED TO THE PROGRAM
WILL BE RECLAIMED. ╘HIS IS ALSO TRUE FOR ALL OTHER EXTERNAL PROGRAMS, SINCE
THIS IS IMPLEMENTED IN THE KERNEL.
--------
WRAP FILE ...
╘HIS IS LIKE THE CAT COMMAND, EXCEPT THAT LINES LONGER THAN 75 CHARACTERS
WILL BE WORD-WRAPPED INTO MULTIPLE LINES.
--------
DATE
─ISPLAY THE CURRENT DATE. ╘HE FORMAT IS: "┘┘┘┘/══/──-╚╚:══:╙╙.╘", IN
24-HOUR TIME FORMAT. ╘HIS COMMAND WILL BE EXTENDED TO DISPLAY IN "HUMAN
MODE" (EG. "╘UE-13-╩UL-1993 05:49:53 PM") AND TO ALLOW YOU TO SET THE
DATE. ├URRENTLY, THE DATE WILL ONLY BE SET WHEN THE SYSTEM STARTS UP.
--------
FORTY
╙WITCH TO THE 40-COLUMN (╓╔├) SCREEN ON THE 128. ╘HIS ALSO SWITCHES THE
PROCESSOR INTO SLOW MODE.
--------
EIGHTY [ROWS]
╙WITCH TO THE 80-COLUMN (╓─├) SCREEN ON THE 128 OR TO THE SOFT-80 SCREEN ON
THE ├64. ╧N THE ├128, THIS WILL ALSO SWITCH THE PROCESSOR INTO ╞AST MODE
AND WILL SET THE ╓─├ SCREEN TO DISPLAY THE NUMBER OF ROWS THAT YOU REQUEST,
OR THE DEFAULT NUMBER OF ROWS (CONFIG OPTION) IF YOU DON'T SPECIFY A NUMBER
OF ROWS.
--------
READ FILE ...
╞ILE READER. ╒SEFUL ONLY FOR TESTING HOW LONG IT TAKES TO READ A FILE.
╬O OUTPUT IS GENERATED.
--------
MEM
MEM ADDRESS
─ISPLAY BYTES OF DYNAMICALLY ALLOCATED MEMORY THAT ARE STILL FREE AND THE
PROCESS ID OF THE "MEM" PROCESS. ╔F YOU GIVE THE "ADDRESS" OPTION (A 32-BIT
HEXADECIMAL ADDRESS), THEN THE MEMORY CONTENTS FROM THE GIVEN ADDRESS
(ALIGNED ON A 16-BYTE BOUNDARY) FOR 256 BYTES ARE DISPLAYED IN AN 80-COLUMN
FORMAT. ╒SERS WON'T NORMALLY USE THIS OPTION; IT IS INTENDED FOR
DEBUGGING.
--------
HELLO
╘HIS IS JUST A DIPPY LITTLE PROGRAM THAT PRINTS OUT A "HELLO WORLD" MESSAGE.
╔T IS INCLUDED SO PROGRAMMERS MAY EXAMINE IT AND ITS SOURCE FILE TO SEE HOW
SIMPLE ┴├┼ PROGRAMS ARE ORGANIZED.
--------
WINDOW [COLUMNS [ROWS [START├OLUMN [START╥OW]]]]
╙ETS THE WINDOW SIZE. ╔F NO ARGUMENTS ARE GIVE, IT WILL REPORT THE CURRENT
WINDOW DIMENSIONS. ╔F ONE OR MORE ARGUMENTS ARE GIVEN, THEY WILL BE USED AS
WINDOW ARGUMENTS AS ABOVE. ═ISSING ARGUMENTS WILL BE TAKEN FROM THE CURRENT
WINDOW'S SETTINGS. ╙CREEN COORDINATES START AT COLUMN 0 OF ROW 0 AND GO TO
THE FULL SIZE OF THE SCREEN. ┘OU WILL GET AN ERROR MESSAGE IF YOU TRY TO
SET UP AN ILLEGALLY SIZED WINDOW AND THE CURRENT WINDOW WILL REMAIN
UNCHANGED. ┴FTER SUCCESSFULLY SETTING A WINDOW, IT WILL BE FILLED WITH A
CHECKERBOARD PATTERN TO INDICATE THE SIZE OF THE WINDOW. ╩UST CLEAR THE
SCREEN TO GET RID OF THIS.
--------
CHRSET FILE
╠OADS THE NAMED FILE FOR USE AS THE CURRENT CHARACTER SET. ╘HE FILE MUST BE
A VALID ┴├┼ CHARACTER SET.
--------
KEYMAT FILE
╠OADS THE NAMED FILE FOR USE AS THE CURRENT KEYBOARD TRANSLATION MATRIX.
--------
HEAD [-╬] [FILE ...]
╘HIS UTILITY WAS DONATED BY ╩AKE ╚AMBY. ╚E SAYS: ╔T PRINTS THE TOP ╬ LINES
OF ANY FILE (OR ╙╘─╔╬ IF NO FILE IS GIVEN), WHERE ╬ DEFAULTS TO 10. ╔T
DETECTS THE ╥╒╬/╙╘╧╨ KEY, AND PRINTS A USAGE MESSAGE IF GIVEN BOGUS
ARGUMENTS.
--------
JIF
─ISPLAYS THE CURRENT JIFFY-CLOCK TIME TO STANDARD OUT. ┴├┼'S JIFFY CLOCK
IS A 32-BIT QUANTITY.
--------
MOUSETEST [-H [-T]]
╘HIS ALLOWS YOU TO MOVE CROSSHAIRS AROUND ON THE HI-RES SCREEN WITH A MOUSE
PLUGGED INTO PORT #1. ╔F ONE ARGUMENT IS PRESENT, THEN THE REGULAR HI-RES
SCREEN IS USED (USUALLY, THE LOWEST-RESOLUTION SCREEN IS USED), AND IF TWO
ARGUMENTS ARE PRESENT, THE PROGRAM WILL PERFORM A GRAPHICS SPEED TEST (YOU'D
HAVE TO EXAMINE THE CODE TO SEE WHAT IS BEING TESTED).
--------
MORE FILE ...
╞ULL-SCREEN FILE VIEWER. ┴T THE PROMPT, PRESS ╙╨┴├┼ TO VIEW THE NEXT
SCREENFUL OF A FILE, ╥┼╘╒╥╬ OR CURSOR-─╧╫╬ TO VIEW THE NEXT LINE, ╬ TO GO
ONTO THE NEXT FILE TO BE VIEWED, OR ╙╘╧╨ OR ╤ TO EXIT THE VIEWER. ╞UTURE
EXPANSION POSSIBILITIES INCLUDE A "GO BACK" COMMAND AND AN ┴╙├╔╔-TRANSLATION
MODE.
--------
UUENCODE FILE ...
┴ UUENCODER. ╘HE UUENCODE PROGRAM SENDS ITS OUTPUT TO STDOUT, SO YOU WILL
USUALLY WANT TO REDIRECT STDOUT TO A DISK FILE. ╘HIS OUTPUT WILL BE IN
╨ETSCII CHARACTERS, TO WORK WITH THE OTHER TEXT UTILITIES. ╔F YOU WISH TO
HAVE THE OUTPUT IN ┴SCII, THEN YOU MUST RUN IT THROUGH THE "TR" PROGRAM
(BELOW).
--------
UUDECODE FILE ...
┴ UUDECODER. ╘HE UUDECODE PROGRAM WILL ACCEPT EITHER ╨ETSCII OR ┴SCII FILES
AND IS ABLE TO EXTRACT MULTIPLE FILES FROM ONE INPUT FILE. ┼XTRACTED FILES
ARE PUT INTO ╨╥╟ FILES.
--------
BCODE [-HELP] [-V] [-U] [-M] [-L MAX_LINE_COUNT] [FILENAME ...]
╙EE THE EXTERNAL DOCUMENTATION FILE "ACE╬╬-BCODE.DOC".
--------
UNBCODE [-HELP] [-I] [-V] [-D] [FILENAME ...]
╙EE THE EXTERNAL DOCUMENTATION FILE "ACE╬╬-BCODE.DOC".
--------
CRC32 FILE ...
├╥├32 *┬* GENERATOR. ╘HE NUMBERS GENERATED BY THIS PROGRAM MATCH ├╥├32
VALUE GENERATED BY OTHER PROGRAMS, SUCH AS ╨╦┌╔╨ AND ┌═╧─┼═. ╘HIS PROGRAM
IS USED TO VERIFY THAT FILES HAVE BEEN TRANSPORTED FROM PLACE TO PLACE
CORRECTLY.
╘HE PROGRAM USES A TABLE-DRIVEN BYTE-ORIENTED ALGORITHM, SO IT EXECUTES
FASTER THAN THE OLDER (CRC32A) PROGRAM.
--------
CRC32A FILE ...
├╥├32 *┴* GENERATOR. ╘HE NUMBERS GENERATED BY THIS PROGRAM ─╧╬'╘ MATCH THE
├╥├32 GENERATED BY OTHER PROGRAMS, SUCH AS ╨╦┌╔╨. ╚OWEVER, IT WILL ALWAYS
MATCH ITSELF. ╘HE PROGRAM USES A BRUTE-FORCE BITWISE ALGORITHM, SO IT IS
RELATIVELY SLOW. ╘HE PROGRAM IS INCLUDED FOR HYSTERICAL (ER... HISTORICAL)
REASONS.
--------
UNKAR FILE ...
╦┴╥ (╦EVIN'S ┴╥CHIVER) DEARCHIVER, INTENDED TO BE USED FOR EXTRACTING THE
┴├┼ SOURCE CODE, ALTHOUGH YOU MAY FIND THIS ARCHIVER FORMAT USEFUL FOR YOUR
OWN PURPOSES.
--------
KAR [-HELP] FILE ...
╦┴╥ ARCHIVER. ╘HIS MAY BE USED TO ENCODE ANY TEXT FILES INTO A SINGLE ╦┴╥
ARCHIVE. ╧NLY TEXT FILES MAY BE ARCHIVED, AND THE RESULTING ARCHIVE IS
ALSO A TEXT FILE, SO YOU CAN LOOK AT IT, MAIL IT, ETC. ┴LL OF THE NAMED
FILES ARE INCLUDED AND OUTPUT GOES TO STDOUT, WHICH YOU WILL LIKELY WANT
TO REDIRECT.
--------
VBM [-HELP] FILE ...
╘HIS IS A PORTED VERSION OF A PROGRAM (╓┬═ ┬ITMAP ╓IEWER VERSION 1.10) THAT
WAS RELEASED EARLIER AS A STAND-ALONE PROGRAM. ╘HE PORTED VERSION HAS ALL
THE BENEFITS OF ALL ┴├┼ PROGRAMS: IT WILL RUN ON EITHER THE 128 OR 64 AND
YOU CAN CONVENIENTLY SPECIFY THE FILES YOU WANT TO USE THE PROGRAM WITH.
┘OU WILL WANT TO GET THE IMAGE FILES AND THE ├-LANGUAGE XBM-TO-VBM CONVERTER
THAT WERE BUNDLED WITH THE ORIGINAL PROGRAM.
╘HIS PROGRAM REQUIRED SOME KERNEL IMPROVEMENTS, INCLUDING ADDING BASIC
SUPPORT FOR 320*200 MONOCHROME GRAPHICS ON THE 64 AND 640*200 AND 640*491
(╬╘╙├-64╦ ONLY) USING THE ╓─├ DISPLAY OF THE 128. ╬OTE THAT THE 320*200 AND
640*491 DISPLAYS HAVE A PIXEL ASPECT OF 1-TO-1 AND THE 640*200 DISPLAY HAS A
PIXEL ASPECT RATIO OF 2-TO-1. ╙INCE IMAGES ARE NORMALLY ENCODED WITH A
1-TO-1 ASPECT RATIO, IMAGES WILL LOOK TWICE AS TALL AS THEY SHOULD ON THE
640*200 DISPLAY. ╘HE VBM PROGRAM DOESN'T ATTEMPT TO CORRECT THE ASPECT OF
IMAGES (YET).
╫HEN YOU START THE "VBM" PROGRAM WITH IMAGE FILES SPECIFIED, IT WILL DISPLAY
THE IMAGE AND THEN WAIT FOR YOU TO PRESS A KEY. ╨RESSING "╤" WILL EXIT FROM
THE PROGRAM. ╨RESSING ANY OF THE CURSOR KEYS WILL SCROLL THE IMAGE A
QUARTER-SCREEN IN THE DIRECTION YOU PRESS. ╨RESSING THE ╚╧═┼ KEY WILL
RETURN YOU TO THE "HOME" POSITION OF THE IMAGE. ╨RESSING THE ╙╨┴├┼ ┬┴╥ OR
╥┼╘╒╥╬ KEY WILL CAUSE THE NEXT IMAGE IN THE "SLIDE SHOW" TO BE VIEWED.
┴FTER THE LAST IMAGE, THE VIEWER WILL EXIT. ╧H, WHILE DISPLAYING THE
CURRENT IMAGE, THE PROGRAM WILL "PEEK" AT THE KEYBOARD BUFFER AND IF YOU
HAVE TYPED ANY KEY, IT WILL STOP DISPLAYING THE IMAGE AND INTERPRET THE
KEY. ╘HIS WILL ALLOW YOU TO POSITION OR SELECT AN IMAGE QUICKLY.
╘HERE ARE OTHER POSITIONING COMMANDS SUMMARIZED AS FOLLOWS:
╒╨,─╧╫╬,╠┼╞╘,╥╔╟╚╘: 1/4 PAGE SCROLL
╙╚-╥╔╟╚╘,╙╚-╠┼╞╘ : 1/2 PAGE SCROLL LEFT/RIGHT
╙╚-╠╔╬┼╞┼┼─,╠╞ : 1/2 PAGE SCROLL UP/DOWN
├╘-╠┼╞╘,├╘-╥╔╟╚╘ : FULL PAGE SCROLL LEFT/RIGHT
├╘-╒╨,├╘-─╧╫╬ : FULL PAGE SCROLL UP/DOWN
I,M,J,K: SMALL SCROLL UP,DOWN,LEFT,RIGHT
1 TO 9 : SET SMALL-SCROLL JUMP (TIMES 8, IN PIXELS)
├╧-╠┼╞╘,├╧-╥╔╟╚╘ : GO TO END LEFT/RIGHT
├╧-╒╨,├╧-─╧╫╬ : GO TO END UP/DOWN
╚╧═┼ : GO TO TOP LEFT OF IMAGE
├╠╥ : GO TO CENTER OF IMAGE
╚┼╠╨ : DISPLAY THIS HELP INFORMATION
(BASIC KEYBOARD HAS EQUIVALENT CURSOR-MOVEMENT KEYS)
╨RESSING "?" OR ╚┼╠╨ WILL BRING UP A SCREEN WITH HELP INFORMATION AND THE
NAME AND NUMBER OF THE FILE BEING VIEWED. ╨RESSING "0" WILL TAKE YOU TO
THE FIRST IMAGE GIVEN ON THE COMMAND LINE, AND PRESSING "$" WILL TAKE YOU
TO THE LAST IMAGE ON THE COMMAND LINE.
╘HE ╓┬═ CUSTOM IMAGE FORMAT IS BASICALLY A BINARY REPRESENTATION OF THE ╪┬═
FORMAT FOR ╪-WINDOWS BITMAPS, WHERE ╪┬═ GIVES ITS DATA IN ├-CODE FORMAT.
╘HERE IS NOW A NEWER VERSION OF THE ╓┬═ FORMAT (VERSION #3; THE OLDER ONE
WAS VERSION #2), AND IT FEATURES ╥╠┼ DATA COMPRESSION, WHICH GIVES ABOUT 29%
SMALLER FILES ON AVERAGE THAN VERSION #2 DID. ╘HE VIEWER PROGRAM CAN
ACCEPT EITHER VERSION #2 OR VERSION #3 IMAGES.
╘HE "PBMTOVBM.C" FILE IN THE "ACE╬╬-USRC.KAR" ARCHIVE ├ PROGRAM THAT WILL
CONVERT A FILE FROM ╪┬═ FORMAT TO ╓┬═ FORMAT. ╙O, ALL YOU NEED TO VIEW ANY
ARBITRARY ╟╔╞ OR ╩╨┼╟ FILE ON YOUR 128 IS A PROGRAM LIKE ╒NIX'S "XV" TO
CONVERT THE IMAGE INTO ".XBM" FORMAT, AND THEN CONVERT THAT INTO ".BM"
FORMAT. ╘HE ┴├┼ VIEWER WILL LET YOU SCROLL AROUND IN IMAGES LARGER THAN
640X491 (ET AL), SO YOU DON'T HAVE TO CUT THE SIZE OF LARGER IMAGES. ╘HE
MAXIMUM IMAGE SIZE THAT "VBM" WILL HANDLE IS 2040X65535.
--------
VBMPR [-HELP] FILE
╘HIS PROGRAM ONLY ACCEPTS VERSION #2 IMAGES; ╔ WILL EVENTUALLY INTEGRATE
THIS INTO THE ╓┬═ VIEWER PROGRAM ABOVE.
╘HE INDICATED FILE WILL BE PRINTED, AND IF THERE ARE MULTIPLE FILES, THEY
WILL BE PRINTED ONE DIRECTLY AFTER THE OTHER. ┴LL IMAGES ARE PRINTED FROM
THE LEFT MARGIN, AND THE PROGRAM USES THE 640 DOTS-PER-LINE GRAPHIC MODE OF
THE PRINTER. ╘HIS WILL PRODUCE AN IMAGE THAT DOES NOT HAVE A PERFECT ASPECT
RATIO (WHICH WOULD BE 576 DPL), BUT ╔ FIGURED THAT IT WOULD BE MORE
IMPORTANT TO BE ABLE TO PRINT 640X╬ IMAGES. ╘HE HEIGHT OF AN IMAGE IS, OF
COURSE, LIMITED ONLY BY THE AMOUNT OF PAPER THAT YOU HAVE.
╫HEN RUN, THE PROGRAM WILL OPEN A CHANNEL TO YOUR PRINTER THROUGH DEVICE
"Q:" OF YOUR CONFIGURATION. ╘HIS DEVICE SHOULD BE SET UP AS A
TRANSPARENT-MODE NON-AUTO-LINEFEED CONNECTION TO YOUR PRINTER/PRINTER
INTERFACE.
╔ TESTED THE SPEED OF THE PROGRAM ON A 640X480 IMAGE, AND IT TOOK TEN
SECONDS TO INPUT THE IMAGE FROM THE RAMDISK AND OUTPUT THE PRINTER DATA TO
THE NULL DEVICE, SO THE BOTTLENECK IN THE SYSTEM FOR PRINTING IMAGES WILL
DEFINITELY BE THE SPEED OF THE CONNECTION TO YOUR PRINTER OR YOUR PRINTER
ITSELF, AND NOT THIS PRINTING PROGRAM.
--------
AS [-HELP] [-S] [-D] [FILE ...]
╘HIS PROGRAM IS DESCRIBED IN THE EXTERNAL FILE "ACE╬╬-AS.DOC".
--------
TERM
╘HIS PROGRAM IS DESCRIBED IN THE EXTERNAL FILE "ACE╬╬-TERM.DOC".
--------
FX [-78K] [[-B] FILE ...] [-T FILE ...]
╘HIS PROGRAM IS DESCRIBED IN THE EXTERNAL FILE "ACE╬╬-FX.DOC".
--------
Z FILE
╘HIS PROGRAM IS DESCRIBED IN THE EXTERNAL FILE "ACE╬╬-Z.DOC".
------------------------------------------------------------------------------
7. ╠┴╘┼╥, ─╒─┼
╘HIS SYSTEM IS ╨UBLIC ─OMAIN ╙OFTWARE. ╔T IS NOT REQUIRED, BUT IT WOULD BE
APPRECIATED IF PEOPLE WHO USE THIS SOFTWARE REGULARLY WOULD SEND A POSTCARD
FEATURING A PICTURE OF SOME LOCAL ATTRACTION/SCENE TO THE FOLLOWING SNAIL-
MAIL ADDRESS. ┘OU ONLY HAVE TO DO THIS ONCE. ┘OU CAN SEND ME MONEY TOO, IF
YOU WANT, BUT THAT IS STRICTLY OPTIONAL. ═Y SEMI-PERMANENT ADDRESS IS:
├RAIG ┬RUCE
4-249 ├EDARBRAE ┴VE.
╫ATERLOO, ╧NTARIO
├ANADA, ╬2╠ 4╙8
╔F YOU HAVE QUESTIONS, COMMENTS, SUGGESTIONS, OR BUG REPORTS, YOU CAN
CONTACT ME AT THE FOLLOWING E-MAIL ADDRESS.
╦EEP ON ╚ACKIN'!
-├RAIG ┬RUCE
CSBRUCE@CCNGA.UWATERLOO.CA
"┼VERYTHING FROM ┴├┼ TO ┌┼─!"
------------------------------------------------------------------------┼╬─---